The Curse of Dimensionality: Inside Out

The Curse of Dimensionality, introduced by Bellman, refers to the explosive nature of spatial dimensions and its resulting effects, such as, an exponential increase in computational effort, large waste of space and poor visualization capabilities. Higher number of dimensions theoretically allow more information to be stored, but practically rarely help due to the higher possibility of noise and redundancy in real world data. In this article, the effects of high dimensionality is studied through various experiments and the possible solutions to counter or mitigate such effects are proposed. The source code of the experiments performed is available publicly on github.

Read the Paper | Get the Code


Building an inline Turing Machine for C++


Turing Machines are mathematical abstractions of a computing systems. Suppose you are given an input string of letters of a given alphabet, and you want to do some computation on it, then given enough time and memory, a Turing Machine can do the job for you. The only caveat is, the language that you want to compute upon should be “computable”. What this means is, there are certain languages that are not computable in reasonable time by a Turing Machine. Such languages are called “hard”, because it is hard to write an algorithm to compute in reasonable time. This is a very abstract version of what a Turing Machine is. Let us explore it in brief. Continue reading

A new kind of interpretation


In all of computer programming, we have been solving problems by modeling the real world into code. Consider the reverse process, where we derive a relation between data structures and the real world. Can we model code in real world objects? Or in other words, can we represent information in real world entities? My effort in the following article will be to guide you through various scenarios which will (hopefully) change your perception towards our environment.


Continue reading

The Three Pillars of Learning

knowledge triangle-01

This illustration was published in and depicts the Three Pillars of Learning. As explained by the author, the three pillars of learning are:

  1. Pillar 1: To be good at one particular thing
  2. Pillar 2: To be okay in 2-3 fields
  3. Pillar 3: To have basic knowledge of as many things as possible

The triangle on the top is the Knowledge Triangle, which refers to the interaction between research, education and innovation. The three pillars of learning give the foundation to the Knowledge Triangle. The stronger the pillars, the longer the knowledge triangle stands!


Pure vector extract pigmented with breathtaking colours.



A perfect blend of blue, red, orange and yellow. Couldn’t find a better way to express this combination. The bottom blue keeps it clean, while minimal details go with the orange space. The use of only circles and straight lines keeps the design simple.

Ice Cream-01

Ice Creams.

Back in my school days, Mango, Orange, Lime, Raspberry and Cola used to be the most popular stick ice creams. Mmm.. :3

Well here, notice how the purple background beautifully supports light as well as dark colours even when all are placed together. Purple – Yellow has been my favorite combination among the purple series. It turns out that darkening the background downwards and darkening the foreground upwards blends these colours easily.



A typical night scene – resembling those featured in Sir Arthur Conan Doyle’s novels.

Shades of Blue, Green, White and Midnight Black – perfect to set the scene. The deliberate placement of trees and buildings at one end of the canvas let’s the viewer enjoy the beauty of the moolight while still filling the empty space.



Notice how all the colours sit comfortably on the soft cyan background. The soft cyan colour suits the rainbow because our eyes are so used to watching a rainbow in the vast blue sky.



Made with love, coffee, adobe illustrator.

Forms and Styles of Hindustani Vocal Music


Indian Classical Music has been divided into two sub-genres, Hindustani
Shastriya Sangeet popular in North India and Carnatic Music, practiced in the southern part of India.

Most forms of music have at least three main elements – melody, rhythm and harmony. Because of its contemplative, spiritual nature, Hindustani (north Indian) classical music is a solitary pursuit that focuses mainly on melodic development. In performance, rhythm also plays an important role, giving texture, sensuality and a sense of purpose to melody. Instruments like tabla, pakhavaj etc. are used to provide rhythm. While, instruments like tanpura are accompanied to provide harmony.

In Hindustani classical music, once one has a command over the basic notes, he/she is introduced to ragas (which are like musical themes), and then is encouraged to start improvising and making his own melodies. The main thing Hindustani classical music does is to explore the melodic and emotional potential of different sets of notes. About five hundred ragas are known (including historical ragas) today. While in carnatic music, there are 72 melakartas in which most compositions are based.

Because, not everyone can master the rigorous training essential to appreciate hindustani classical music, many forms were given rise to which were semi-classical and light in nature. These styles are less rigid so that anyone can practice and compose songs. Later, light music was adopted in movies. Many singers composed in this style. Due to the influence of films and television, these compositions came in the limelight of the masses and gained popularity. Folk music on the other hand is diverse because of India’s vast cultural diversity. Though it is weakened due to the arrival of movies and the western pop culture, saints and poets have large musical libraries and traditions to their name.

Here are some notes from my study of Hindustani Classical Music.


Naveen Venkat (2017, December 9). Forms and Styles of Hindustani Vocal Music. Retrieved from

Download as PDF (184K)