Templates

One of the major advances in programming is the idea of a template.

A lot of programming consists of similar patterns but using different data types.

Template programming or generic programming has enabled easy usage of well known programming patterns.

To understand this, one can visualize a series of stencils being used with various colors of paint to produce similar patterns but with multiple colors.

Literary greatness

In the history of literature, there have been a few achievements which deserve special notice.

The works of William Shakespeare for example are acknowledged as an ideal.

In Sanskrit, the works of Kalidasa are similarly significant. His play, Shakuntala, is acknowledged as a world classic.

In this work, Kalidasa displays the best elements of the Sanskrit drama tradition. It is said that it is so well crafted that not even a word appears out of place.

Value of media

From a historic perspective, the proliferation of media to the general public began mostly with the Gutenberg press.

Prior to this, information was either restricted to the oral tradition or to those with literacy and access to written records.

Now, with the advent of the internet and social media, the flow of information has become unstoppable and the value of information transmitted through all sorts of media can be enjoyed by all.

Honest

In scientific research, skepticism and rigorous thinking are prerequisites when dealing with collecting and interpreting data as part of research. One needs to keep questioning results and then keep reformulating hypotheses. This is the iterative process that leads to a better understanding of nature.

In daily life however, people are conditioned to not offend others. Many times, one needs to package the truth in ways that are palatable to society. Different individuals respond to such social conditioning in different ways.

There are many individuals who occasionally go against accepted beliefs and tell the truth as it is. Such individuals can often bring about very good changes to society.

Of course, not everyone who criticized should not be under the impression that they have done society a favor. It is the spirit of criticism and the overall results that matter.

On an individual level, one may find that constructive criticism coming from sources of good character is very beneficial.

Caring about other’s opinions

The Roman emperor, Marcus Aurelius, once said:

“It never ceases to amaze me: we all love ourselves more than other people, but care more about their opinion than our own.”

– Marcus Aurelius

The tendency of people is to view the world through one’s own viewpoint and understanding.

At the same time, people are always carefully watching how others perceive them.

It is possible that with enough social conditioning we see ourselves in others.

Perhaps this is what underlies the fact that we value others as ourselves.

Effect of automation

In the evolution of mankind, humans had to survive very tough environments for hundreds of thousands of years.

It can be safely stated that most modern humans would not have a chance of surviving in the prehistoric times. The human brain evolved to survive in this harsh environment. The size of the brain was apparently considerably larger in the human species 300,000 years ago.

Of late, there are plenty of things being automated with computers and robots. As life starts to get easier, some of the functions of the brain like having skills to survive in a harsh environment go away.

It would be interesting to note how the human brain would look in a few hundred years from today.

The truth

Over the course of mankind’s evolutionary history, the idea of the truth has been one of vital importance. The Taittiriya Upanishad, composed around 2500 years ago, exhorts students who have completed their studies to follow the precept of:

Satyam vada dharmam chara

This can be roughly translated to:

Tell the truth. Follow the dharma

– Taittiriya Upanishad 1.11

Among the collective myths of various cultures of the world, the act of speaking and living truthfully has been highly valued.

One of the oldest stone inscriptions, that of King Ashoka contains the maxim: Satyameva jayate, meaning “truth alone triumphs”. This was made the national motto of the Republic of India.

It appears relevant to note this as the republic celebrates it’s 68th anniversary today.

Multitasking

Generally, multitasking is not something that comes naturally to people. Most of the time, I’d prefer to do one thing at a time.

However, occasionally, one gets the opportunity to use one’s brain in doing many things at once. This is usually a good break from monotony.

… As long as multitasking doesn’t become a norm.

Paradigms

In approaching programming problems, one always runs into new paradigms. A paradigm is a new way of looking at things. It is a word derived from the Sanskrit root dik, which means “point out” or “direction”.

So to find the solution to programming problems, one often needs to change the direction of one’s thinking. In most cases, this is easier said than done. Things which help in this exercise include:

  1. asking questions to more experienced programmers
  2.  reading whatever documentation that exists
  3. good old google search

Debugging

The name ‘debugging’ comes from a time when computers were large, heavy machines built using vacuum tubes. Bugs easily got into these machines causing problems. So, operators had to literally find these bugs and throw them out.

Now computer programs can run on compact devices thanks to the advances in transistors and semiconductors. Debugging on such platforms is a matter of triaging the problem, which means figuring out where in the code the problem could be.

An invaluable tool in debugging problems in software are trace messages and logs. With the help of verbose log messages along with the use of debugger programs and a lot of trial and error, one can debug modern day programs.