Universal Knowledge. Your Life. Part 4.

sunset-yogaYou may refer to my earlier blog in this series here: Universal Knowledge. Your Life. Part 3.

So lets’ take the plunge in trying to realize P. It would be, by no means, an easy journey – or even the journey where anyone can guarantee that you would eventually realize P; nevertheless, the rest of the benefits I mentioned in my earlier blogs do apply đŸ™‚ Further however, note that since P is all about consciousness, your thoughts, belief, zeal, discipline and strictly adhering to this text into practice would go a long way in realizing certain stages towards realization of this important knowledge itself.

Now, this P has different names in different regions of the world, so I would expand it to the name as established since ancient times in my country – India – and this name is ‘Praann‘ (this is the nearest English equivalent to the way it is pronounced). Please note here that the name itself has nothing to do with the religion Hinduism and hence it is religion-agnostic, though references of it may be found in such religious texts.
Why I revealed this name now is because the practice to realize Praann is named as ‘Pranayam‘. The root of these words lies in the ancient language of ‘Sanskrit’, which I will not cover here though. The word Pranayam is composed of two words – Praann (consciousness) and Ayaam ([to realize by] self) – and hence, the practice.
Note – Praann does not mean ‘life’ as it typically is construed certain Indian languages, but is a broader concept of consciousness itself. Further, I would mention below certain terms that come from Sanskrit, and these are not to be construed as any religion-specific totems, practices or tricks.

The practice of Pranayam
The practice has eight stages as follows, whereby the first four needs to be practiced simultaneously in a physical manner. The rest four are more of realization states or stages, achieved mentally, which the fourth one leads to. Even though it may at first seem that you can directly jump on to stage four, it will not help in reaching any of the states we aspire to.

1. Yam – the daily general practice of being good to others; helping people at times of need; giving proper time to your family, work, and yourself; and not playing bad politics. Why is this important? Because, this will help you to be more stable and emphatic mentally. From a practice standpoint, you need to simply be good as you perceive “goodness” to be.
2. Niyam – the daily general practice of having a bath, taking limited quantity of food while you eat (and not gulping or gorging), having mild exercises for general fitness and getting a sound sleep every night. Why is this important? Because, of the reason that since pranayam is all to do with your mind, your mind needs to be calm and stable. From a practice standpoint, a good time to do pranayam would be early morning (4:00am is ideal; however, even 6:00am would work if you can find a calm place without noise and distractions). For such time, a basic minimum of brushing your teeth and washing your face with water would be the prerequisite.
3. Aasan – since the practice of pranayam would at first seem to be both physically and mentally taxing, it would need you to sit in a proper posture to reduce any bodily strain while you practice it. Aasan refers to such posture. From a practice standpoint, you sit with your head and back straight – comfortable and not stretched – legs folded, hands stretched with the back side of your palms kept on your knees; palms being open. Alternatively, follow the sitting position of Lord Buddha (as you find in pictures and idols).
4. Pranayam – this name is same as the overall practice as this is the most important step through which you connect to your inner world (what this means will become apparent as you practice). I will expand on the actual practice in my next blog, as it also incorporates not only physical actions but also what you should think while practicing it.
5. Pratyahar – it is a state in which you do not feel your body’s existence, however have a feeling of ecstasy which is purely a personal experience. It is a stage you can practically achieve.
6. Dharana – it is a state achieved when you mentally pick up any object and try to give a form, shape and behavior to it. This requires a lot of concentration, and would able to visualize the object as if it is a part of you (or the other way round).
7. Dhyan – it is a state achieved when you concentrate on this object and seem to control its form and behavior mentally; this and the previous step get more refined with practice as you start realizing multiple objects and in turn, multiple spheres of knowledge.
8. Samadhi – it is a state achieved – and the last one where you achieve higher consciousness – with no bounds to the degree of knowledge that you gain through continued practice; true yogis are said to attain it. All the branches of knowledge – mathematics, pure sciences, religion, vedic, the knowledge of past and future, occult sciences – are realized and attained. Unbelievable, but as I said earlier – do not say it’s nonsense unless you yourself have practiced it.

Now, before I go on to explain the above, an acknowledgement is deserved at this point. Whatever I am writing here through these blogs form a part of the larger texts on lectures by Swami Vivekananda on the concept of Vedanta. He had been a practitioner of this, and has successfully demonstrated the knowledge not only in India, but also across the world.
However, there is a propensity for any person following the religion of Hinduism to claim this as a ‘Hindu practice’, which is gravely erroneous. Vedanta is a philosophy (leading to a set of practices, including pranayam) irrespective of any religious group, and defines the universal human/non-human identity. And to know it, you do not have to become a member of any religious cult or group. It is more science that religion as the word “religion” is construed today.

I will expand the steps in my next blog, so you may watch out for the actual practice lessons subsequently! More blogs will follow to talk about the ‘science’ behind Vedanta, and why the philosophy is important to your work and life.

 

Advertisements

DevOps. On the ground.

While DevOps brings Dev, QA and Ops – both infra and service management guys – together, how do you realize it on the ground? So, here you go (however, you will still need to get experts who practice it, and related technologies, day in and day out):
1. Lets’ start with people first. The simple straight point is to have Agile scrums – with daily stand-up meetings (assuming that either the team is co-located, or can see each others’ faces over a video-con in case of remote/ virtual teams) – involving representatives, though preferably all in the one-IT team, from Dev, QA and Ops. They all need to know what others are doing, and hence are all collectively responsible for quality as well as meeting the timelines together.
2. Cross-skill Dev, QA and Ops. Why? Because, in case there is suddenly a spurt of one activity over the other, each can help out the other. For example, once infra provisioning has been done, the infra guy can join the QA guy (and same goes for Dev, as that guy has not yet started coding) to create the test scripts. This is what we call as self-organizing teams.
3. Lets’ now talk about the processes. Shift-left Ops – infra. What does that mean? This is quite obvious that unless infra (with relevant environments) are provisioned, Dev or QA cannot start their work effectively. Writing code on paper does not help much. That’s why, once the change request or requirements flow in, discuss and align during the stand-up the exact requirements of infra and environments that need to be provisioned. Once the infra guy goes back to the desk, he/she immediately gets on to the job.
4. Shift-left QA. The test scripts should all be ready before Dev takes over writing any code, so that the code can burn through the test scripts once ready. It may fail for a few times before it starts passing all the test cases. The question is, how do you write the test scripts for a new application that needs to be built (given that we typically talk of automating regression tests with respect to some baseline code which can be assumed to have some state of perfection)? Such test scripts actually may be derived from the first-hand requirements that are written, either in form of BRS or SRS, and should contain both functional and non-functional test scenarios. Then the question is, how would it be foolproof? Note that we are not yet talking of foolproof applications here (it practically does not happen except for real-time life-saving applications that may launch a rocket or operate a surgical robot in a hospital); however, we are talking of continuous releases so that once you feel your current code (satisfying the current requirements) needs to improve, another scrum team would have already, and in parallel, started working on the next release! So, don’t worry.
5. Enable continuous release-readiness. Be prepared to churn out new scrum teams – a part of the current team can start working on the ever-evolving backlog using separate sprints – to work on next releases (see point 4 above).
6. Now comes technology & tools !

Automate infra and environment provisioning – use tools. What kind of code is ‘Infra as code’? Imagine something like –
initiate cloud1 {
RAM 4GB;
HDD 200GB;
create environment1 {
install Windows10 ( );
install Compiler-C++ ( );
install MS-Office10 ( );
}
}
……………. and your developers (or QA) immediately gets the relevant environment they wished for!

Automate tests – use tools. What kind of code is ‘Test as code’? Imagine something like –
test App1 {
/* Comment – each of the functions or methods denoted by XXX ( ) returns a pass or fail */
boolean success[1] = module1.test-login ( );
boolean success[2] = module1.test-billpayment ( );
boolean success[3] = module2.test-printbill ( );
if (any success[] value = fail) { return ‘build has failed’; }
}

Automate develop and build – use tools. What kind of code is ‘Function as code’? Imagine something like –
generate code1 {
if (usecase = login) { generate code-block-login ( ); }
if (usecase = billpay) { generate code-block-billpayment ( ); }
createInterfaces (usecase login, usecase billpay);
}
…………. and also use tools to automatically compile and package the code with other dependent application packs

Automate deployment – use tools. This goes hand in hand with automating infra and environment, given that deployments typically get stuck at infra or environment levels, assuming the build is successful. However, there may be cases where the build is successful (code has worked in developer’s machine), but it fails in target deployment environment (say, for some environment specific variable settings). In such cases, there are alternatives such as putting the code along with its development/test environment directly into the target, as a single container; though we would not discuss it here.

Now your code is in production. However, DevOps is all about getting all of the IT life cycle onto a single seamless chain. So what’s next? Hence, we automate applications and infra getting monitored in production in terms of say, performance and security. If a suspicious event takes place – say, application may show signs of getting into a hanging or breaking state, infra may point to a possible crash due to overload – it immediately and automatically triggers an incident for the service personnel.
Now say, it is Sunday and the personnel is off duty. So the next logical step is to have a self healing system that can, once the event is detected, provision relevant fail-safe mechanisms and enable the system to normally operate. Far-fetched? Nope. This is happening ………….. and I won’t cover here given that it warrants a separate blog đŸ™‚