Skip to main content

Two concepts to help upgrade our definition of science

Two concepts to help upgrade our definition of science. 
Everybody agrees that there are a ton of things which people believe in to have some basis in science but don’t. This agreement is however limited to what somebody else believes in and not they themselves. Applying the scientific method to everything that we come across is not possible. We as individuals have neither the resources nor would our experience as a single data point count for anything more than an anecdote. There are two concepts to help us check if what we believe in would even qualify to be evaluated by the scientific method.
The first is “correlation does not imply causation”. Just because two things are found to be correlated, it does not mean one is the cause of the other. The more popular version of it is a similar fallacy, an event that followed another was necessarily a consequence of the first event. For example, you bought a car on a Saturday and then later met with an accident. Drawing a conclusion that every time someone buys a car on Saturday will definitely meet with an accident is believing the correlation is causation without proof and hence false. You washed your hair on a Tuesday and then failed in an upcoming exam. Does not imply everyone who washes their hair on a Tuesday will fail their exam. The accident and exam have more to do with your lack of preparation than anything else. Key is to not be driven by fear and learn to accept personal responsibility.
The second is every theory should be “falsifiable”. Whatever you believe to be true should also be theoretically proven as false. This sounds counter intuitive at first but very powerful once you understand it. An easy way to theoretically prove that gravity does not exist is by saying if I jump off the roof, I will not fall down. However, the real world does not let you prove that because you will in fact fall down if you jump. Let us apply this to a widely accepted theory. Wish fulfilment temples are popular across all cultures. The theory states if you go to the temple and follow a certain process, your wish will be fulfilled. This can however not be proven false in any situation. If you follow the process and wish is fulfilled, the temple works. If the wish is not fulfilled, you did not follow the process correctly. If you followed the process correctly, you did not put in enough personal effort towards the goal (more popularly known as God helps those who help themselves). If you followed the process and put in enough personal effort, it was not in your destiny for the wish to be fulfilled. The temple however still works. The temple is not falsifiable.
These two concepts help get rid of most superstitions. Concepts which have even some possibility of being proven true will not fail them.


Popular posts from this blog

ES6 Babel Transforms : Code Injection and Increase in File Size

This post aims to give a rough idea on the increase of file size after applying babel transforms to ES6 JavaScript. These figures depend highly on your style of writing code since each extra space leads to an additional byte. However, the transform comparisons will give you an idea on how they are treated by babel and how much of additional code will be injected in your file. 
These file sizes are non-uglify, non-gzipped and without any method of compression on OSX. let - var3 bytes for the first rename. 4 bytes for each subsequent rename.const - varSave 1 byte per declaration.
Class Tranforms852 bytes for using simple class declaration with a constructor. Adds two new functions, namely, _createClass and _classCallCheck.

2114 bytes for creating and extending a class.

Extending a class adds two more functions let us have a look at them, namely,
_get and _inherits.

Arrow => functions20 bytes per usage, depends on the usage as well.

Template StringsA little less than 4 bytes per variable cal…

FusionCharts Automated Testing Tool

While working at FusionCharts, every release we were faced with a daunting task of black box testing. Daunting mainly because of the breadth and the depth of the product. This post talks only about black box testing. FusionCharts Product as a whole contains about roughly 90 charts and each chart can be visually tweaked with a set of about 300 chart options/attributes. Ignoring any further permutation and combination, we have right there around 90*300 test cases. Apart from chart options, api testing which consisted of events and methods was needed. Clearly automation was required, as our manual testing would cover only a very small sample set that too based on smart assumptions.

With this problem at hand, I broke it down as follows:
Headless Browser
- Visual Regression
- API TestingUser Browser
- Visual Regression
- API Testing We liked to call it the FusionCharts Automated Testing Suite.

Headless testing would be based of a headless browser and integrated in to our nightly builds. It was…

The secret life of the OnePlus 3

So I bought the OnePlus 3 on launch day; it has been about a week since. Buying products on launch day is a practise I am personally against and don’t recommend, but end up falling for more often than not. More comprehensive reviews and bugs surface only after a few weeks from the public release; this time however, things were a little different. Reviews by both The Verge and MKBHD were released as soon as the launch event ended. For me, reviews by The Verge are nothing more than in-depth first impressions. It seems as if they don’t really use the phone as a daily driver or even for more than a day but instead they have some really talented people who produce great content and sometimes catch things that others don’t in the first go. MKBHD on the other hand has always been very reliable- he uses each phone as his daily driver for at least a week before publishing a review. The OnePlus3 got rave reviews by both and was marked to be nearly perfect.
The interesting bit however is that O…