When it comes to many aspects of life, the process of testing various things is a good approach. In testing different combinations, one can learn from the different outcomes.
If the tests succeed or fail, one learns something and can carry the information forward. In science, this is known as trial and error. Different experiments produce results, based upon which one gets an understanding of truths about various processes of nature. The same also applies to cooking, wherein one tries different masalas, some of which succeed in satisfying the taste buds, and some fail.
It is interesting to note the saying “it takes a village to raise a child”. A pregnant woman, who is carrying a future child, is treated with paramount care by the whole of society.
It appears that the continuation of the human species is regarded with the utmost of importance in societies. Families are the best vehicle to carry out this function.
The word wisdom is derived from the word wise, which in turn is derived ultimately from the Sanskrit word veda, which means to know.
Historically, humans have paid heed and respect to people “who know” or to people “who see” a truth beyond what is immediately obvious.
Usually, it turned out that these were people who are elder and experienced in the ways of the world.
Thinking beyond the immediate is one of the facilities offered by the human brain. However, many humans do not make use of this faculty and tend to only focus on momentary gratification.
Such an attitude usually decreases one’s chances of having a good life. It actually increases the chances that one lives an unsatisfied life.
It appears that one of the important distinctions between human beings and other animals is that humans can think and act for something beyond the present moment.
Across most cultures, this principle seems to be common and people who follow such a principle tend to be the most respected.
When programming in languages such as C/C++, there are bound to be certain pieces of the software which are dependent on the operating system platform.
To make sure such software work smoothly on all platforms, it appears crucial to have (preferably) automated testing on all platforms from day one.
This will help in avoiding problems later on. Also, it could help to avoid including specialized libraries which only work on certain platforms.
Python’s PEP-531 is an interesting example of a policy where, alongside testing on multiple platforms, it is encouraged to only depend on older libraries which presumably have wider support.
When programming in languages such as C/C++, one needs to be aware of which libraries the program is dependent on. Usually, these libraries are available with different names on the standard package managers on different operating system platforms such as Fedora Linux, Debian Linux, macOS etc. Occasionally, these libraries may not even be available on certain platforms. So, the only option may be to try one’s luck in compiling and installing the source code.
On the other hand, newer languages such as python and java try to be as platform-agnostic as possible. So, in theory, programs written in these languages should be able to run on any platform. This is true for the most part. Where it isn’t true is where they are not written in pure python or java and combine some C/C++.
In making decisions, it often helps to reflect on a series of recent decisions one has made.
It could even help if one does a number of decisions as part of a game or exercise as this will help exercise the decision muscles and could help in strengthening these muscles.
Human being is said to be a creature of habit. So, one needs to develop a habit of making right decisions based on a sound mental framework which can only come about after years of having made decisions.
During the Merovingian and Carolingian times in early medieval Europe, it is interesting to note that having an extended family was a matter of survival for ordinary people. One needed to depend on the family for physical backup in case any trouble, such as accusation of adultery etc, occured. Ordinary folks slept as large families of around 8-12 people in large thatched buildings.
Until recently – prior to the industrial revolution – it appears that an extended family continued to be a matter of survival for most societies. In India, for example, extended families were the norm until a few decades ago. With the industrial revolution, the state became more empowered and thus law was able to be better enforced. Protection could be provided to smaller units such as the nuclear family.
When programming, one sometimes get lost too much in the day to day work and forgets the big picture. The big picture usually is that one’s code is part of a larger component, which is part of a product, which is in turn part of a line of products or tools of a company. Ultimately, each line of code matters a lot to the success of an organization.
It appears that having some emphasis on a clean codebase to as much an extent as practically possible is crucial. If the code is readable, it can be easily understood by the next developer who may be charged to fix bugs with it.
Also, in turn, reading the code written by others is a valuable and educational exercise for any developer.