It is said that the human being is a creature of habit. The word “habit” is derived from a root word meaning what one wears.

So, one can imagine that as one carries out the daily practices of meditation, physical exercise and reflection, one builds a protective garb around oneself. This comes in handy when dealing with real life problems.

The stoics advocated the practice of thinking about all the ways things can go wrong. In mentally thinking of all the ways things can go wrong, one can prepare oneself mentally for worst case scenarios. One can even mentally prepare some measures to address such scenarios.

Similarly, exercising one’s body and eating healthy foods on a daily basis also prepares one to face any potential issues later in life.

Transition of Rome

As the ancient Roman empire moved into the late antiquity, the empire began to feel the impact of the significant Christian minority inside the empire. At the same time, it appears that the early Christian scholars picked up the dominant philosophies of the time and began to be influenced by it.

Also, the emperor and the imperial government began to have more of a presence in the various cities of the empire. So most of the upper classes began to rely of the emperor’s good graces to maintain their class status. Many of the old ways and customs began to transform in accordance with the times. As the emperor Constantine established the Christian religion as the official religion, this process accelerated.

Python’s extensibility

Python is a versatile language with numerous great features. It is designed to be easy to read and understand. Python can be learned fairly easily and one can start programming in it quickly.

There is also a way to integrate libraries written in C/C++ using extensions. This allows python developers to make use of the numerous robust C/C++ libraries which have been created over the years inside python scripts.

Scientific approach

The scientific approach is one that works with recording a lot of careful observations and then viewing them with skepticism until the data starts to make some sense. However, one person cannot do all this. It needs a team of people finding data and critiquing each other’s findings and theories until some coherent idea precipitates.

This has been the way that the best scientific experiments have been carried out. Also, it is interesting that after many years of such trials and errors, many great and world-changing inventions which were unintended or unforeseen have come about.


In approaching a problem to be solved, it is beneficial to think of patterns which are applicable. One needs to have some experience in solving problems.

After a number of years of figuring out solutions, one becomes better at recognizing patterns which apply for the problem under consideration. It appears that one of the main strengths of human consciousness is that we can recognize patterns quite well in nature and in daily life when solving problems.

Where ideas come from

Where do ideas come from? I still do not know. However, it appears that the human mind can come up with innovations and marvels when needed.

The saying “necessity is the mother of invention” appears to be mostly true. But often, there is no direct correlation between the problem being faced and the solution which was found.

The problem can be something ‘X’. The solution which comes to mind will actually be applicable to a different problem. As long as the solution is useful and helps people solve problems, it becomes a success.


When it comes to human nature, when looked at in detail, each individual appears unique and different from the other. Each individual has his own sets of likes, dislikes and traits. However, each of us appears to see a little bit of us in other people. This may be the motivation behind personality theory, which studies the variations of personality traits among individuals.

Though it is possible to group the traits seen among different individuals, it does not appear that an individual can only be of one personality type. The more likely scenario is that everyone is an amalgamation of different traits. Also, one needs to keep in mind the personalities of the people themselves coming up with lists of such traits. One needs to be aware of the theorists’s own biases and understand the limits of human knowledge and understanding. Nietzsche said:

“He who fights with monsters should be careful lest he thereby become a monster. And if thou gaze long into an abyss, the abyss will also gaze into thee.”

 – Nietzsche


Representing data

When dealing with complex entities such as computer networks, one has to handle a lot of data: both configurational and operational. Hence the need to conceptualize the storage of data in a structured way. Data models have come about to address this problem.

When large sets of data gets stored in a structured and well-understood way, it becomes easy to access and manipulate such data. One can even conceive of algorithms and programs to deal with such data.

If the devices on the network are able to be provisioned and monitored using such structured and modeled data, one can conceive of having algorithms for managing the network.


Oftentimes, the modern mind wants to shield itself from the bad things occurring in the world. Overprotection appears to have become more common. However, one needs to realize that evil exists in the world.

The Puranas explain the existence of evil using the idea that the world has entered an age of vice (Kali Yuga in sanskrit). Hence it is urged to keep this in mind and to follow the righteous path towards enlightenment.

Data structures

The structure of data is something which is crucial in today’s world of programming. Constructs such as lists, graphs and trees are most commonly used to store data. In coming up with a design for a software, one needs to be good at choosing the right structure to store the given data in.

To figure this out, one approach could be to think about how the data appears in the real world while also thinking of how the data is going to be used or changed to solve the given problem.

For example, to design a program for a dictionary, one can think of how a real world dictionary is written. All the words are sorted alphabetically. So, when looking up a word, one can flip to the page containing words near to the one we are looking for. In computer science, a trie is a tree which allows for a prefix based look up. This could be an option to choose when designing a dictionary.