Air Crash Investigation

During my entire schooling I grew up watching Discovery & NGC. Air Crash Investigation was one of the programmes that me & my brother used to watch & talk about the most. The gravity in the narrator’s voice, the choice of words, the characters & actors, the melancholy, the sadness, the rage, the mystery & the investigation full of technical details – it had all the required ingredients in perfect proportions to make a great to program. that such that there was a point in time, when NTSB almost became a household name at my home for sure. This is my forever WIP work, and I dedicate this post to my brother, as this reminds me of my childhood days. I’ll post the latest story on the top.

Alaska Airlines Flight 261

We were discussing current affairs & economic impact that today’s news of Capgemini/Nasscom’s prediction, TCS shares buyback & Infosys ceasefire episodes can have. Donald Trump is now officially POTUS and it’s imminent that his policies can jeopardise Indian IT sector. And, TIL that NASSCOM was indeed a lobby and not some IT company as I had previously assumed it to be.

During this discussion, we began talking about various clauses associated with Severance pay (while discussing Rajiv Bansal, Infosys CFO’s exit), suddenly the topic of ‘garden leave’ popped up which also prevents employees from sharing trade secrets. Such was a case with Punit Soni, Ex Chief Product Officer, Flipkart.

And so did another case, of the whistle blower, the employee from Alaska Airlines, who went loud & exposed the company’s nefarious maintenance practices. He wasn’t fired, but his access to office was prevented by putting him on garden leave, where he’d get the salary sans the incentives & allowances.

Aeroflot Flight 593

The most unfortunate of the stories, where challenges related to autopilot, language & demography surfaced as the major reason. One’s conscience will never allow accusing the innocent 12 year old boy Eldar, the pilot’s son, who was playing with the Air Craft’s control column unknowingly disengaged the plane’s autopilot, which did not warn or alert the pilots who were familiar with Russian versions of flights.

Überlingen mid-air collision

Perhaps because of its dramatisation, I felt it to be the second most saddening & melancholic accident, where the Air Traffic Controller crew, who was present on that fateful day, was later murdered, possibly by a victim’s family member. Such sadness.

A slow radar and over trusting human voice over computer generated voice  led to in-air head-on collision between  a Tupolev Tu-154 passenger jet from Bashkirian Airlines Flight 2937, and a DHL Cargo jet, DHL Flight 611, a Boeing 757 cargo jet, on 1 July 2002.

I remember it most for the saddening narration about the broken pearl necklace memorial built in the memory of the passengers who lost their lives that day.

American Airlines Flight 191

American Airlines Flight 191 was a regularly scheduled passenger flight operated by American Airlines from O’Hare International Airport in Chicago to Los Angeles International Airport. A McDonnell Douglas DC-10-10 used for this flight on May 25, 1979, crashed moments after takeoff from Chicago. All 258 passengers and 13 crew on board were killed, along with 2 people on the ground. It is the deadliest aviation accident to have occurred in the United States.

Engine number one, on the left wing, separated and flipped over the top of the wing. As the engine separated from the aircraft, it severed hydraulic fluid lines that locked the wing leading edge slats in place.

About three minutes into the flight, at local time 3:27 p.m. EST, the plane struck a flock of Canada geese during its initial standard instrument departure climb out from LaGuardia, just northeast of the George Washington Bridge. The bird strike caused both jet engines to quickly lose power.

As the aircraft lost altitude, the flight deck crew considered attempting to return to LaGuardia or to land at nearby Teterboro Airport, but decided that the plane could not reach either. They turned southbound and glided over the Hudson, finally ditching the airliner off midtown Manhattan near the Intrepid Sea, Air & Space Museum, about three minutes after losing power.

US Airways Flight 1549

The entire crew of Flight 1549 was awarded the Master’s Medal of the Guild of Air Pilots and Air Navigators. The award citations read, “This emergency ditching and evacuation, with the loss of no lives, is a heroic and unique aviation achievement.” National Transportation Safety Board member Kitty Higgins described the feat as “the most successful ditching in aviation history.”

This is the story behind the noteworthy movie Sully, starred by Tom Hanks & directed by Clint Eastwood.


(WIP)Articles: Colonialism and Homophobia


POC – People of color, everybody except caucasians

LGBT in the Modern Day

Popular Articles

The Guardian – Africa: homophobia is a legacy of colonialism

  • Most Africans don’t recognize homophobia as a colonial legacy
  • Before colonialism, many traditional cultures were tolerant of different sexualities and gender relations.
  • E.g. In the Ganda or Baganda Tribe, (Uganda’s largest ethnic group) women from the royal clan are addressed with male titles and may or may not be required to perform duties expected of women.

Slate: How American Evangelicals Infected Uganda

Role of Christianity

  • Tribal Chiefs and Village Courts of law were traditionally the hallmark of conflict resolution.
  • But those were traded for a European Penal Code system post colonialism, which included the criminalization of homosexuality.
  • Sodomy laws would not have impacted African sexual politics without the influence of Christianity.
  • Christianity was used to whitewash African culture as primitive and to demonize traditional interpretations of African intimacies.
  • The bible became the credo of African morality, disordering African sexuality to missionary positions of heteronormativity (ie. the idea that heterosexuality is the only ‘natural’ sexual orientation).

Islam and Homophobia

  • Homophobia among religious extremist bodies like ISIS are attributed to their extreme religious beliefs.
  • But homoerotic themes and pederasty could be found in many poetry and other literature written by Muslims presented in positive light belonging to the medieval period (5th to the 15th century).
  • Modern Day

Modern Day Islam

  • The modern Islamic law criminalizes homosexuality but the punishment is not part of the rule book, and it is usually left to the discretion of the local authorities on Islam, unlike

Inflation in India

Tools Used: Inflation calculator by Calculator Stack, an online tool to calculate India’s inflation between the years 1971-2016 based on Consumer Price Index

Method: calculating the worth of ₹ 100 in the concerned year over time.

Inflation in last 10 years – from 2006 to 2016

Worth of ₹ 100 in 2006, is same as ₹ 214.62 in 2016

Result: ₹ 214.62
Number of Years: 10
Average Yearly Inflation Rate : 7.97 %
Culmulative rate of inflation : 114.62 %
Year Amount Inflation Rate
2006 ₹ 100.00 N.A.
2007 ₹ 105.97 5.97 %
2008 ₹ 115.43 8.93 %
2009 ₹ 130.45 13.01 %
2010 ₹ 140.27 7.53 %
2011 ₹ 153.56 9.47 %
2012 ₹ 168.53 9.75 %
2013 ₹ 185.48 10.06 %
2014 ₹ 194.25 4.73 %
2015 ₹ 204.80 5.43 %
2016 ₹ 214.62 4.79 %

Inflation in previous decade – from 1996 to 2006

Worth of ₹ 100 in 1996, is same as ₹ 171.73 in 2006

Result: ₹ 171.73
Number of Years: 10
Average Yearly Inflation Rate : 5.58 %
Culmulative rate of inflation : 71.73 %

Year Amount Inflation Rate
1996 ₹ 100.00 N.A.
1997 ₹ 106.71 6.71 %
1998 ₹ 119.08 11.59 %
1999 ₹ 124.38 4.45 %
2000 ₹ 131.10 5.40 %
2001 ₹ 137.81 5.12 %
2002 ₹ 143.11 3.85 %
2003 ₹ 148.41 3.70 %
2004 ₹ 154.06 3.81 %
2005 ₹ 161.13 4.59 %
2006 ₹ 171.73 6.58 %
Historic CPI inflation India (yearly basis) – full term 1959-2015

Historic inflation India (CPI) – by year

 annual inflation (dec vs. dec) inflation annual inflation (dec vs. dec) inflation
 CPI India 2015 6.32 % CPI India 2005 5.57 %
 CPI India 2014 5.86 % CPI India 2004 3.78 %
 CPI India 2013 9.13 % CPI India 2003 3.72 %
 CPI India 2012 11.17 % CPI India 2002 3.20 %
 CPI India 2011 6.49 % CPI India 2001 5.16 %
 CPI India 2010 9.47 % CPI India 2000 3.48 %
 CPI India 2009 14.97 % CPI India 1999 0.47 %
 CPI India 2008 9.70 % CPI India 1998 15.32 %
 CPI India 2007 5.51 % CPI India 1997 6.29 %
 CPI India 2006 6.53 % CPI India 1996 10.41 %

Average inflation in India (CPI) – by Year

 average inflation inflation average inflation inflation
 CPI India 2016 5.91 % CPI India 2006 5.79 %
 CPI India 2015 5.88 % CPI India 2005 4.25 %
 CPI India 2014 6.37 % CPI India 2004 3.77 %
 CPI India 2013 10.92 % CPI India 2003 3.81 %
 CPI India 2012 9.30 % CPI India 2002 4.31 %
 CPI India 2011 8.87 % CPI India 2001 3.77 %
 CPI India 2010 12.11 % CPI India 2000 4.02 %
 CPI India 2009 10.83 % CPI India 1999 4.84 %
 CPI India 2008 8.32 % CPI India 1998 13.17 %
 CPI India 2007 6.39 % CPI India 1997 7.25 %

Top GDP contributions by Sector in India

 Total GDP

Gross domestic product: 1.877 trillion USD (2013) World Bank
Population: 1.252 billion (2013) World Bank
GDP growth rate: 5.0% annual change (2013) World Bank

Related statistics

1.252 billion ‎(2013)
Gross domestic product
1.877 trillion USD ‎(2013)
GDP growth rate
5.0% annual change ‎(2013)

GDP per capita elsewhere

United States of America
53,041.98 USD ‎(2013)
6,807.43 USD ‎(2013)
United Kingdom
41,787.47 USD ‎(2013)

Top GDP contributions by Sector in India

  • source
  • 52% : Services sector
  • 17%  : Agriculture
  • 30% : Industry
  • Service sector includes – retail, banks, hotels, real estate, education, health, social work, computer services, recreation, media, communications, electricity, gas and water supply
  • Computer software businesses in India are increasing at a rate of 35% per year
  • In India, there has been a huge growth in service sector businesses which made up 55% of India’s GDP in 2006—2007.
Sector GVA (Rupees in Crore) at current prices
2011-12 2012-13 2013-14 % share 2014-15 % share
3 Services Sector 3,976,498 4,628,810 5,376,045 51.31 6,118,738 52.97
2 Industry Sector 2,713,467 2,954,565 3,219,942 30.73 3,466,996 30.02
3.3 Financial, real estate & prof servs 1,539,575 1,807,699 2,074,623 19.80 2,372,103 20.54
2.2 Manufacturing 1,482,158 1,654,084 1,808,370 17.26 1,984,173 17.18
1 Agriculture Sector 1,505,580 1,668,676 1,881,152 17.95 1,964,506 17.01
1.1 Agriculture,forestry & fishing 1,505,580 1,668,676 1,881,152 17.95 1,964,506 17.01
3.4 Community, social & pers. Servs 1,023,803 1,160,634 1,355,362 12.94 1,541,351 13.34
3.1 Trade, repair, hotels and restaurants 882,957 1,046,241 1,257,324 12.00 1,431,836 12.40
2.4 Construction 774,093 801,884 868,808 8.29 928,418 8.04
3.2 Transport, storage, communication & services related to broadcasting 530,163 614,236 688,736 6.57 773,448 6.70
2.3 Electricity, gas, water supply & other utility services 194,403 213,826 244,220 2.33 278,593 2.41
2.1 Mining & quarrying 262,813 284,771 298,544 2.85 275,812 2.39

List of countries by GDP growth

Economy of India

The Indian economy is the fourth largest economy of the world on the basis of Purchasing Power Parity (PPP). It is one of the most attractive destinations for business and investment opportunities due to huge manpower base, diversified natural resources and strong macro-economic fundamentals.

The spice trade between India and Europe was the main catalyst for the Age of Discovery.

The statistical work of the Cambridge historian Angus Maddison has shown, India’s share of world income collapsed from 22.6% in 1700, almost equal to Europe’s share of 23.3% at that time, to as low as 3.8% in 1952.

Estimated per capita GDP of India and United Kingdom from 1700 to 1950, inflation adjusted to 1990 US$.[84] Other estimates[85] suggest a similar stagnation in India’s per capita GDP and income during the colonial era.

ngnix virtual hosts

Setting up virtual host in nginx

# check ubuntu version
# try
lsb_release -a
# if that doesn't work, then try
cat /etc/*release

Determining the Ubuntu version helps in assuming the default locations of nginx conf file.

# create *.conf files locally
# create 2 server blocks. Only one block carries the default_server directive
   listen 80 default_server;
   listen [::]:80 default_server ipv6only=on;
   root /var/www/;
   index index.html index.htm;
   location / {
      try_files $uri $uri/ =404;
# notice: The 2nd server block is non-default and it doesn't carry ipv6only directive
server {
 listen 80;
 listen [::]:80;
 root /var/www/;
 index index.html index.htm;
 location / {
   try_files $uri $uri/ =404;

# the default server responds if a domain matching fails, or if you directly hit the IP of the server

# copy them to the 'sites-available' remote dir
scp -r /Users/<username>/<path-to-dir>/ root@123.456.789.101112:/etc/nginx/sites-available/

# remove default conf from 'sites-enabled' dir
rm /etc/nginx/sites-enabled/default

# create soft-link of the 'conf' from the '-available' to the '-enabled' dir
ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled/

# note: the file extension is not mandatory. It has just been used as a convention

# restart nginx
# a) the signal way
nginx -s reload

# b) the service way
sudo service nginx restart


That’s all folks

Bookmarks: August, 2016

  1. Jake Archibald: Performance benefits of norelopener and the security implications
  2. TCP/TLS: TLS Handshake Mechanism (with diagram)
  3. CDN: CDNs aren’t just for caching
  4. ReactJS: React Perf with description about how the diff-ing algorithm works
  5. PWA: Flipkart: Case study for progressive webapps
  6. PWA Apps: Konga: Cuts its data usage by 72%: Case study and youtube video
  7. Joke: Datatypes in languages
  8. A/B Testing Tips: 19 obvious AB Tests that should be performed
  9. Top A/B Testing Blogs
  10. Optimizely A/B Testing tips
  11. Addy Osmani: Scroll Anchoring and feedback
  12. Jake Archibald: jaffathecake
  13. Coding Conventions/Best Practices
  14. New kids (frameworks) in the block – ELM, RiotJS, Preact
  15. Github Repos worth watching: React Hacker news

What is it that you fear about `death`?

While getting drunk with friends on a night atop a water tank, atop a building, a movie-director-friend asks this question ‘Why death is so scary? What’s it that we fear about death?’. The audience, high on drinks, wanted anything but cliché.

We were talking about death in the normalcy, hence, a ‘violent gory gruesome death’ was of course out of the way. The consensus –

The biggest fear we’ve about death is – dying alone, in silence, unnoticed.

Millions die everyday. Nobody cares. I don’t want to be one of those millions who are forgotten. When I die, I want my death to be noticed, I do want that people should feel sad for losing me, they should miss me. I want their attention, I seek their love. I want to live in their memories and I want my story to be told to their children.

..I don’t do this for the money, or the fame, or the glory. I do it because when you write a song, it’s the closest thing to immortality that you are ever going to taste, and when it goes to the public it is magic

Bon Jovi  (Read

Perhaps, it’s our yearning for immortality, that makes death so scary. And, living in people’s memories – is the closest possible alternative.

Pain in the sass

SASS is fun to many – I too love the mixins. But for the majority of time I hate it.

SASS is a family of retarded inbreds

SASS with Compass: often times I’ve felt this largely marketed magic potion is just hype. It’s is akin to snake oil, the panacea of all front-end-css problems. For me, it’s pain in ass. I have seen sass features being abused more often.

Let me give you reasons why not use SASS

People use nesting a lot

Not sure if I worked with stupid people, or it’s just the norm, but when you nest one selector with another, it gets chained in the output file.

Any selector beyond a 3rd level of nesting is a bloat, unreadable garbage.

If you’ve nested that much

  • I’ll assume you’re obsessed about Inception
  • You like to live life dangerously
  • You believe – if it was hard to write, then it should be harder to read
.some-container .content-wrapper .discover-rightpanel .bottomSection .bottomSectionWrapper ul.listmain_Container li.list .wrapper .rightsection .topTitleSection .displayHolder .usercountmain .smarrtplus, .sliderDisplay_label {
  display: block;

wtf? seriously!

SASS is slow

While working with CSS files, I’m used to pressing F5 very often. It’s like OCD. When I say that I’m into a lot of F5s, I really expect the file to update instantly, zero latency.

Compass, you sucker, I can attribute several hours of work loss and instances of lost sanity to you and your slowness.

Do you know what happens during those 2.5-10 seconds of css compilation time?

A fairy dies.

Contrary to backend guys, the instant gratification monkey is at the helm of my brain, and it’s not used to it's compiling.. culture.

But then, what’s the point in just whining if I can’t find a remedy?

Here you go – I found libsass. Libsass is – fast, and close to what I can love or at least put up with. Compass is horribly slow – people using it, I really don’t know what to call them, but I’m sure they’ll get brain damage if they are exposed long enough to it.


Say, there is a P1 ticket – our buy now button (a.k.a. BOB) is terribly out of proportion in production. How do you fix it? Well. you look at the css class or ID and search for it’s occurrence in the directory.

Not to your surprise your selector looks like:

.some-container .content-wrapper .discover-rightpanel .bottomSection .bottomSectionWrapper ul.listmain_Container li.list .wrapper .rightsection .topTitleSection .displayHolder .usercountmain .big-orange-button {
  display: inline;
  margin: 15px 30px;

Oh, you can’t use ctrl+shift+f because this nesting is formed only after compilation.

Not a problem. You’re a SASS ninja and so were your ancestors (past programmers) and they’ve done a great job of following the right directory structure. Say, you easily to located that file.

Now what? Search for BOB, Ctrl + F and .big-orange-button?

OK, Found Results:

.some-container .content-wrapper .big-orange-button {}
.some-container .content-wrapper .discover-rightpanel .bottomSection .big-orange-button {}
.some-container .content-wrapper .discover-rightpanel .bottomSection .bottomSectionWrapper ul.listmain_Container li.list .wrapper .rightsection .topTitleSection .displayHolder .usercountmain .big-orange-button {}

OK, you usually won’t have multiple BOBs per page. But let’s say it’s not BOB, but some other important button.

Now, if this is the holy crap situation you’re in, how many ctrl+fs or how many scroll-downs you think you’ve to do to locate the 3rd one? (this can be a better interview question than answering why manholes are round and how many golf balls ..).

If it were normal CSS? Well, just a single ctrl+shift+f and the css selector.

Utopian Software Development doesn’t exist

You’ve been working in the project since years and yeaaaaaaaaars. And you have been pushing boundaries to ensure your team adheres to coding guidelines. But what if –

  • your project was outsourced offshore
  • or your company fired you & rest of staff, replaced them with college fresh men
  • or transferred this project to another team

Assume any of the above case and assume this was done without any knowledge transfer.

The rookies understand your equipment and toolbox. But they do not know where you kept the nuts and bolts. So, they start creating their own, merely duplicate content.

So, all those nicely crafted variables and mixins you painstakingly created and named all over the years is .. poof.. gone in a jiffy.. goes in vain. It’s a pile of garbage now.

Agree, that CSS definitely wouldn’t have been of any greater help in such a situation. But, SASS did no good either. It was rather a wastage of those person hours you spent debating.

Placeholder for future caption

Placeholder for future text


Published on April 1, 1999, RFC2549 is an Experimental Protocol for the Internet as found at: which suggests  using Avian carriers, meaning birds, over other mediums of data transfer and goes into describing the possible implications of it.

This was an amendment to RFC1149, published exactly 9 years before on the same date i.e. on April 1, 1990. Contrary to the former suggestion which involved data delivery only by birds on a small scroll of paper, the modern suggestion suggested sending data over magnetic tapes flown overseas using Concorde’s expedited data delivery, or heavier payloads delivered on Ostriches instead of birds that can fly. More can be explored on the same, ironically, on the internet.

In December 2005, a Gartner published a report on bird flu that concluded “A pandemic wouldn’t affect IT systems directly” – wikipedia

It’s not surprising to see, that both RFCs were filed by the same person, David Waitzman, although from different physical and email addresses, and of course employers.

Never underestimate the bandwidth of PigeonNet! – mayupvoterandomly

The intention of this RFC was to create a protocol that would provide high delay, low/high throughput, and low altitude data carrier services. Readers may visit the following links to learn more about the RFC.

“the carriers have an intrinsic collision avoidance system,” a problem that afflicts the transfer of data on crowded networks – cnet

Readers are also encouraged to ask questions like

Web Scraper Blocker 1

For the uninitiated, web scrapers are applications that can connect to the internet and download a web page, just like a human user downloading it to their browser. ‘Price scrapers’ is the name given to scrapers that connect to eCommerce websites to download the page, go through the textual content and determine the price of the product.

For all site owners, scrapers are pain in the ass.

Search engines also use scrapers a.k.a crawlers, and they use them to download the pages on your website. No doubt, they’re useful. But, crawling is a kind of activity that anybody won’t perform every 20 minutes. So let’s isolate crawlers from scrapers and we’ll see that:

  • Scrapers create unwanted, unsolicited, unwelcome traffic
  • They’re barely useful to the site owners.
  • They consume resources like RAM and CPU by making multiple requests
  • They steal information. Yes, it’s stealing because of the scale at which it happens

For the above few reasons, site owners often time block such scrapers by following few techniques:

  • They determine the source (aka client’s) IP
  • Check the frequency at which they are accessing this site
  • If the frequency goes beyond a threshold level (say 25 requests per minute or so), they block the IP and redirect them to some other page