First time here? Do check out my popular posts – Thank You

November 19, 2010 Leave a comment
Categories: Popular Posts

Samanwayam and samyak drshti in Sanatana Dharma

May 15, 2019 Leave a comment

“Behind the facade of Vedic orthodoxy and its
tendency to abstract symbolism, an extensive and deep-
rooted system of popular beliefs and cults and a decided
tendency to anthropomorphic presentation prevailed. The
Vedic religion, however, absorbed, embodied, and preserved
the types and rituals of older cults. Instead of destroying
them, it adapted them to its own requirements. It took so
much from the social life of the Dravidians and other native
inhabitants of India that it is very difficult to disentangle
the original Aryan elements from others. The interpenetra-
tion has been so complex, subtle, and continuous, with the
result that there has grown up a distinct Hindu civilization
which is neither Aryan nor Dravidian nor aboriginal. Ever
since the dawn of reflection the dream of unity has hovered
over the scene and haunted the imagination of the leaders. “

Eastern Religions and Western Thought – Dr. S. Radhakrishan,
https://archive.org/details/in.ernet.dli.2015.208994/page/n327

“The Indus civilization represents a very perfect adjustment of
human life to a specific environment, that can only have resulted
from years of patient eifort. And it has endured;
it is already specifically Indian and forms the basis of
modern Indian culture.”

NEW LIGHT ON THE MOST ANCIENT EAST – V. GORDON CHILDE
https://archive.org/details/in.ernet.dli.2015.280955/page/n197
https://archive.org/details/in.ernet.dli.2015.280955/page/n199

“…மாற்றுத்தரப்புகளை விவாதம் மூலம் உள்ளிழுத்துக்கொள்ளும் திறந்த இயல்புமூலமே இந்த நிலத்தில் மதமோதல்கள் வன்முறையையும் அழித்தொழிப்புத்தன்மையையும் தவிர்த்தன. இந்திய நிலப்பகுதியின் மூன்றாயிரம் வருடத்து வரலாற்றில் மேலைநாட்டில் நிகழ்ந்ததுபோன்ற பெரும் மதப்போர்களை நாம் பார்க்கமுடியாது. ஐந்துக்கும் மேற்பட்ட மதங்கள் உதயமான இம்மண்ணில் மத்தியக்கிழக்கு மண்ணில் நிகழ்ந்தது போல மதப்போர்கள் நிகழ்ந்திருந்தால் என்ன எஞ்சியிருக்கும்?…”

The use of dialogue to understand, assimilate and resolve the differences with other philosophies has helped us avoid the crusade kind of wars and destroying cultures. In the 3000+ year history of India, we cannot see cursade kind of wars seen in the west (I think the author means the middle east). If we had this kind of approach towards resolving philosophical differences nothing would be left, given the fact, that this is the birth place of 5+ major philosohpies.

“…மத்தியக்கிழக்கின் ஒற்றைத்தரிசன மதங்கள் பரவிய நிலங்களில் என்ன நடந்தது என்பதைப் பார்க்கும்போது இந்தியப்பெருநிலத்தின் வரலாறு பெரும் ஆச்சரியத்தையே அளிக்கிறது. இங்கே பண்பாட்டுக்கலப்பு நடந்துள்ளதே ஒழிய பண்பாட்டு அழிப்பு நிகழவில்லை. ஐந்தாயிரம் வருடங்களுக்கு முன்னர் சிந்துசமவெளி நாகரீகத்தில் இருந்த பண்பாட்டுக்கூறுகள் கூட இன்றும் அழியாமல் நீடிக்கின்றன. இந்தியப்பெருநிலத்தின் தொன்மையான பண்பாட்டுக்கூறுகள் எதுவுமே முற்றாக அழிந்ததில்லை.காரணம் இங்கே நடந்தது கொள்வதும் கொடுப்பதும் அடங்கிய ஒரு பண்பாட்டு உரையாடல்தான்.

ஸ்மன்வயம் என்ற சொல் இங்கே மிகக்கூர்ந்து நோக்கத்தக்கது. நாராயணகுரு அவரது நூல்களில் இந்தசொல்லை மிக விரிவாகப் பயன்படுத்தியிருக்கிறார். இதை ஒருங்கிணைப்பு அல்லது கலப்பு என்றுதான் சொல்லவேண்டும். ஆனால் ஒருங்கிணைக்கப்படும் கூறுகளுக்குள் உண்மையான முழுமையான ஒத்திசைவை உருவாக்குதலும் எந்த ஒரு கூறும் தன் இடத்தையும் தனித்தன்மையையும் இழக்காமலிருக்க கவனம் கொள்ளுதலும் இதன் இயல்பு. ‘தத்வ சமன்வயம்’ என்றே நாராயணகுரு தன் விவாதங்களைக் குறிப்பிடுகிறார். நம் சிந்தனையில் நெடுநாட்களாக நடந்தது இதுவே. பன்மைப்பண்பாடு கொண்ட ஒரு நிலப்பரப்புக்கு மிகச்சிறந்த வழிமுறை இதுமட்டுமே

இந்த பன்மைத்தன்மை, உரையாடல்தன்மை, பண்பாட்டுப் பரிமாற்றம்தான் இந்திய மரபின் வெற்றிக்கும் சிறப்புக்கும் காரணம். கோர்டன் சைல்ட் கூறுவதுபோல இன்றும் தொடரும் இந்தியப் பண்பாட்டின் அடித்தளம் இந்த இயல்பேயாகும்…”

Indian history is astonishing, when we look at the history of middle-east where mono-theistic philosophies (abrahamic faiths) have spread. Here we see curtural exchange and assimilation as opposed to destroying other cultures. Some aspects of the indus valley civilization that are 5000+ years old still survive and prosper. The oldest cultural aspects of India have not been completely destroyed. The reason is the the give and take as a result of healthy dialogue and assimilation of cultures.

The word ‘Samanwayam’ deserves our attention here. Narayana guru has used this word extensively. We can call it assimilation or exchange??. But, whatever is being assimilated, this culture makes sure that we do not lose the individuality of the other philosophy / culture and agreement with all the philosohpies has been the nature of sanatana dharama. Narayana guru calls his debates / dialogue ‘tattva samanwayam’. This has been our thought process. For a multi-faceted, diversified land such as ours this is the best approach.

This diversity of thought, readiness for dialogue, cultural exchange has been the reason for the survival of our sanatana dharma. As Gordon Childe says, this forms the basis of Indian culture.

– Excerpts from https://www.jeyamohan.in/1327#.XNuJvsgzaUk, Translated by yours truly

“…அவ்வுரையாடல் நிகழ்ந்தது துருக்கியப் படையெடுப்புகள் வழியாகந்தான். ஆக்ரமிப்பு வெறி கொண்ட அரசர்களுடன் லட்சக்கணக்கான சாதாரண மக்களும் வந்தார்கள். இங்குள்ள மக்களுடன் உரையாடினார்கள். அவர்களிடம் இஸ்லாமின் ஆன்மீக சாரம் வந்தது. அது இங்குள்ள ஆன்மீகத்தைக் கண்டடைந்தது. நம் ஸ¥·பிக்கள் அனைவருமே மிக எளிமையான மக்களில் இருந்து வந்தவர்கள். படைவீரர்கள் குதிரைக்காரர்கள்…மிக அபூர்வமாகவே மன்னர்குலத்தவர்கள்.

மேலும் பதினாறாம்நூற்றாண்டுக்குப் பின்னர் இங்கே கிறித்தவம் வந்தபோது அது சாம்ராஜ்யக் கனவுகொண்டிருந்த ஐரோப்பிய இனத்தின் மதமாக வந்தது. எந்த விதமான உரையாடல்களுக்கும் அது தயாராக இருக்கவில்லை…”

…that dialogue happened during the Turkish invasion. Lakhs of ordinary people also came with the power hungry emperors. They discussed and mingled with the people here. With them came the Islamic thought. That found the spirituality here. Our Sufis came from ordinary background, soldiers, horsemen…very rarely emperors.

When Christianity came here after 16th century, it came as the representative of European empire. It did not give rise to any dialogue.

“…அவர் அவர்களின் கோயிலில் புகுந்து சிலைகளை உடைத்தும் அவமரியாதைசெய்தும் அவர்களிடம் ஆவேசமாக பேசும்போது அவர்கள் நிதானமாக அவரிடம் உரையாடுகிறார்கள் என்கிறார் அவர். அச்சிலைகள் எங்கும் உள்ள பரப்பிரம்மத்தின் வடிவங்களே என்றும் சிலையில் உண்மையில் ஒன்றும் இல்லை என்றும் சொல்கிறார்கள். அவர் வழிபடும் தெய்வமும் தாங்கள் வழிபடும் தெய்வமும் ஒரே பரம்பொருளின் வடிவங்களே என்றும் ஆகவே அவர்கள் மதம் மாறவேண்டியதில்லை என்றும் சொல்கிறார்கள். ‘இந்தமக்கள் நம்மை மதிக்கிறார்கள். நம்மை பிரியமாக வரவேற்கிறார்கள் .நாம் சொல்வதை கவனமாகக் கேட்கிறார்கள். ஆனால் நம் கருத்தை மட்டும் ஏற்றுக்கொள்வதே இல்லை” என்று சாமுவேல் மெட்டீர் பதிவுசெய்கிறார். பெரும்பாலான கிறித்தவ மதப்பரப்பாளர்கள் இவ்வாறு எழுதியிருக்கிறார்கள். இதுதான் உரையாடல் நடந்த விதம்…”

He (Samuel Mateer) says, when we destroyed the statues in their temples and disrespected them, and spoke with them angrily, they spoke back with patience. They say those idols are just symbolic representations of para-brahman which is omni-present. The idols really do not have anything in them. What we worship and what they worship are the same para-brahman is their belief. So they do not have to change their belief. ‘These people respect us. They welcome us with love. They listen to us carefully. But they do not accept our belief’. Most of the Christian missionaries record similar experiences. This was the way dialogue happened.

– Excerpts from – https://www.jeyamohan.in/1337#.XNuJxMgzaUk, Translated by yours truly.

I encourage tamil readers to read the entire set here.

https://www.jeyamohan.in/1327#.XNuJvsgzaUk
https://www.jeyamohan.in/1333#.XNuJwMgzaUk
https://www.jeyamohan.in/1337#.XNuJxMgzaUk

This dialogue is being threatened today by multiple forces

  1. Missionaries funded by Vatican
  2. Wahabist moulas funded by Oil money
  3. Our own right wing extremist movements
  4. Our own pseudo secular party leaders with other ulterior motives, who consider and [1] and [2] to be right and find [3] wrong

 

These are not the common people, the common people need to be part of the dialogue and these elitists with ulterior motives should not influence the dialogue in any means.

 

சமானீ வ ஆஹ¤தி! ஸமானா ஹ்ருதயானீ வ
ஸமானம் அஸ்து வோ மனோ! யதா வா ஸ¤ஸஹாஸதி

[இணைந்து வழிபடுங்கள்! உங்கள் இதயங்கள் இணைக!
உங்கள் மனம் ஒன்றாகுக! ஒன்றாக நலம் பெறுங்கள்!]

समानी व आकूति: समाना हृदयानि व: |
समानमस्तु वो मनो यथा व: सुसहासति ||

यथा व: सुसहा असति ||

ऋग्वेद

This is the last ‘śloka’ in the Rigveda. It states – Let your conclusions be one (or be alike), Let your hearts be the same (or be alike) [So that “everyone” feels for the same particular bad/ill in the society in the same intensity. It may be the common experience that not all feel for the same problem in the ‘intensity’ that we as individual may feel for that. Due to this there may be lack of ‘collective’ efforts to solve that problem]. Let your minds think alike/similar. May all these factors make your organisational-power an impressive one. This ‘śloka’ can be called as an ‘saṅgaṭhan-sūkta’ i.e. guidelines for building an impressive organisation/nation.

Lokmanya Bal Gangadhar Tilak had ended his book ‘Geeta Rahasya’ by this ‘shloka’.

From – https://sa.wiktionary.org/wiki/%E0%A4%B8%E0%A4%82%E0%A4%B8%E0%A5%8D%E0%A4%95%E0%A5%83%E0%A4%A4_%E0%A4%B8%E0%A5%81%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BF%E0%A4%A4%E0%A4%BE%E0%A4%A8%E0%A4%BF_-_%E0%A5%A6%E0%A5%AB

Do not give up to the divisive tactics employed by the select few elitists with ulterior motive.

Categories: Opinion, Spirituality

The fallacy of the best tool / framework / library / practice / process

April 7, 2017 Leave a comment

“There is a point in your programming career, when you realise that there isn’t a best tool” – Via https://hackernoon.com/angular-vs-react-the-deal-breaker-7d76c04496bc – Couldn’t agree more.
There was a time when I was thinking

  1. NHibernate is the best ORM,
  2. Structure Map is the best IoC Container,
  3. Angular is the best JavaScript front-end framework,
  4. Rhino Mocks is the best mocking framework,
  5. SOAP and WS-* are the best answers to every distributed application problem,
  6. WPF is the best Rich Client Platform for windows,
  7. log4net is the best logging library
  8. DDD is the best design process
  9. Scrum was the best development & management process

But I have realized that no matter which framework / library / process / tool you choose, You will fall short of your (application’s) requirements.

The most sensible thing to do is,

  1. Fill the gaps of the frameworks the moment you see infrastructure concerns leaking into the application.
  2. No matter what you consider best today, you will find something better tomorrow. Write your application in a way that you can migrate to another one easily.
Categories: Uncategorized

10X Engineers matter still

November 5, 2015 Leave a comment

Srini shared an interesting article the happy demise of the 10x engineer with me & Prakash. An interesting read, But I was reminded of this story when I read through the article.

A photographer went to a socialite party in New York.  As he entered the front door, the host said ‘I love your pictures – they’re wonderful; you must have a fantastic camera.’ 

He said nothing until dinner was finished, then:
‘That was a wonderful dinner; you must have a terrific Stove.’
IMHO Individuals and Interactions matter a more than processes, tools, frameworks etc.
Categories: Opinion Tags:

Windows 10 Insider Preview Update 10159

July 3, 2015 Leave a comment

Yesterday I posted an entry on my experience of Windows 10 Insider Preview, turns out that Build 10159 is good. I will update after further usage. Glad that Microsoft has got it right this time Smile.

Categories: Miscellaneous, Opinion Tags:

Windows 10 Insider Preview Experience

July 2, 2015 2 comments

I am using Windows 10 Insider previews for the last 3 months, my thoughts on it so far.

Understood it is a preview, not even alpha / beta release, but still I could not resist posting these

It is really unstable, especially in the light that RTM release is scheduled for the month end, I am highly doubtful that this will be a stable windows release. This is completely in contrary to the pleasant experience I had with Windows 7 (from Windows Vista days). The other issue is stability seems to be deteriorating the last few builds, this is not good considering the end of july release.

I also feel that the hardware vendors are really behind on schedule, may be Microsoft should have given them preview builds early for them to develop drivers.

This is not what I expected from Microsoft, Common Microsoft.

I have upgraded to build 10159 today, one last chance before I go back to Windows 7 again (Yup, I don’t have windows 8).

Categories: Miscellaneous, Opinion Tags:

Book Recommendation: Soft Skills–The software developer’s life manual by Jon Sonmez

May 11, 2015 Leave a comment

I got interested in this book when I looked up Jon’s profile after watching a pluralsight course on Android Development Fundamentals.

Soft Skills - The Software developers's life manual

I got hooked by the table of contents and ordered it from Sapna Online (Amazon and Flipkart were not having this book then – I have never considered amazon India as option like amazon worldwide, But Flipkart – Is Flipkart loosing it? Common flipkart).

It is completely worth your time and money. I wish I had this book 10 years back. No other book covers the breadth of topics like Jon does.

I thoroughly enjoyed reading the book. Specifically I enjoyed Jon’s advice on Career options and investment. I was trying to correlate with what I had written about Career Path in my previous incarnation and in the recent past.

I used to refer  to a couple of titles before on this

https://pragprog.com/book/cfcar2/the-passionate-programmer

http://www.amazon.com/Beyond-Code-distinguish-yourself-simple/dp/1590791029

But none of them are close to the breadth of topics Jon covers.

Not that I agree with Jon’s opinion on every topic, but then hey people are different. I will post about my thoughts on these topics soon. I will also post a detailed review / notes soon.

Highly recommended to every developer.

Running C#/.NET code from Cloud 9 IDE

March 16, 2015 Leave a comment

I was experimenting with Cloud 9 IDE mainly for remote coding interviews.

I also wanted to see if I could add C# support. C# syntax highlighting was already supported in Cloud 9. Mono is also pre installed in the Cloud 9 Environment.

All I had to do was add a custom runner to use mcs command line compiler for mono.

I am a complete newbie when it comes to ubuntu / bash etc., so please bear with if there are any script issues with the runner.

You can configure a custom runner using this json:

{
    "cmd" :  [
        "bash",
        "--login",
        "-c",
        "mcs '*.cs' -out:'$project_path$project_name.exe' $args;mono '$project_path$project_name.exe' $args"
    ],
    "info" : "Started $project_path$project_name",
    "env" : {},
    "selector" : "source.cs"
}
Categories: .NET Framework Tags: , , , ,

The infinite loop

November 14, 2014 Leave a comment

The boss calls his secretary & says:

"Get ready for the weekend, We are going on a business trip."

The secretary calls husband & says:

"My boss and I are going on a business trip for 2 days so take care of yourself"

The husband calls his girlfriend & says:

"My wife is going on a business trip come home we can have fun"

The girlfriend calls the boy to whom she gives tuition: 

"No tuition this weekend."

The boy calls his father:

"Dad, at last we can spend this weekend together."

Dad (The boss) calls his secretary & says: 

"Business trip is cancelled.I’m going to spend weekend with my son"

The secretary calls husband:

"I won’t be going"

The husband calls his girlfriend:

"I am sorry My wife is not going "

The girlfriend calls boy:

"You have tuition"

Boy calls his father & says:

"Sorry Dad, I’ve classes"

The Dad calls his secretary…

Categories: Entertainment Tags:

Martin Fowler’s article on micro-services

June 1, 2014 Leave a comment

Martin Fowler and James Lewis have an article on micro services here http://martinfowler.com/articles/microservices.html

Though my first reaction to it was, “what, isn’t this SOA”, the article itself had a sidebar which mentioned “service orientation done right”.

Worth a read, Excellent stuff as usual from thoughtworks folks.

To some extent, I felt Martin Fowler is taking an U-turn on

Hence, we get to my First Law of Distributed Object Design: Don’t distribute your objects!

How, then, do you effectively use multiple processors? In most cases the way to go is clustering (see Figure 7.2). Put all the classes into a single process and then run multiple copies of that process on the various nodes. That way each process uses local calls to get the job done and thus does things faster. You can also use fine-grained interfaces for all the classes within the process and thus get better maintainability with a simpler programming model.

Quote from Patterns of Enterprise Application Architecture (PoEAA) Chapter 7 Distribution Strategies.

Yes, yes,

  • I am aware of the terms that Fowler uses here “Objects” – I always thought he used objects here in the sense of component objects / service objects – Earlier in this chapter he uses “With separate remote objects for customers, orders, products, and deliveries. Each one is a separate component that can be placed on a separate processing node.” So I believe he uses object in a broader sense in the First Law of Distributed Object Design.
  • Granted today we have a faster network stack
  • His argument about coarse grained interfaces was spot on.
  • Also I understand the benefits that micro services brings.

I think, he that he should rewrite his Distribution Strategies Chapter in PoEAA to include the micro services alternative as well.

Your thoughts?

Angularjs framework

May 25, 2014 Leave a comment

Infrastructure concerns

Every application has various concerns. One classification of these concerns is application infrastructure concerns and business concerns. The business concerns are specific to an application and differ with each one of them. On the other hand infrastructure concerns are somewhat similar and with right parameterization we can reuse them across applications.

Various libraries and frameworks exist in any technology space to help us with the infrastructure concerns. Writing infrastructure code is (when it is solved by someone else already) is stealing from your employer / client (http://codebetter.com/jeremymiller/2008/11/07/how-to-design-your-data-connectivity-strategy/)

A sample list of such infrastructure concerns in a modern JavaScript application

  • Routing, Navigation & History
  • Template Engines
  • Data-binding
  • Communicate with the server to read / update the model
  • Responsive Web-design
  • DOM manipulation
  • Asynchronous Programming
  • UI Widgets
  • Feature detection
  • AJAX

Code Organization

Another level of reuse is the reuse at the conceptual level / design level / idea level. Frameworks excel in this form of reuse. Frameworks are opinionated. They enforce or provide some default architecture / structure to your application. Frameworks have inversion of control. That means frameworks may enforce a life-cycle and typically the framework calls your application code and not vice versa.

UI Architectural patterns are all about Separation of Concerns and having more maintainable code – Divide and Conquer. Frameworks may typically follow (an) UI Architectural pattern(s)

Let us now see how angularjs helps in Code Organization and Infrastructure concerns

What is AngularJS?

I will use and elaborate a slightly modified version of  Amit’s answer to What is AngularJS? When is it needed? on Quora http://www.quora.com/What-is-AngularJS-When-is-it-needed/answer/Amit-Asthana

AngularJS is a JavaScript MVW (Model View Whatever – A term from http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/) framework developed by Google that lets you build well structured, easily testable, declarative and maintainable front-end applications which provides solutions to standard infrastructure concerns.

Let us see each one of these

Structure

Angularjs code you write typically falls into one of these buckets

Services –

If you are talking to the outside world, this is a perfect use case for a service – from (http://nathanleclaire.com/blog/2014/03/15/angularjs-isnt-mvc-its-sdc/)

Directives –

Directives are a declarative (Some call this functional, but i believe this is declarative) way of manipulating / working with the DOM. The Web standards too are polarizing in this direction – Example: Web Components. Directives are one of the key aspects of angular (often misunderstood and under used)

Directives are either completely new HTML elements, or attributes that you can throw on existing elements, to perform some kind of DOM manipulation. They can have their own scope and they can be reused, which is one of their most useful properties. – from http://nathanleclaire.com/blog/2014/03/15/angularjs-isnt-mvc-its-sdc/

Views –

The html templates written using angularjs directives and standard html elements

Model –

Angular lets you write non intrusive POJO model objects. Angularjs implements its own dirty checking http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933 which means you can write your models as POJO objects, but it does come with a performance hit.

Controllers –

“glue” of your application. Controllers use model (methods and data) provided by the services and provide them to the directives. – adapted from http://nathanleclaire.com/blog/2014/03/15/angularjs-isnt-mvc-its-sdc/

Testable

Angularjs is designed for ease of unit testing. It is made easier by

  • Dependency Injection
  • Standard Mock Service Providers

The whole of Angular is linked together by Dependency Injection (DI). It’s what it uses to manage your controllers and scopes. Because all your controllers depend on DI to pass it information, Angular’s unit tests are able to usurp DI to perform unit testing by injecting mock data into your controller and measuring the output and behavior. In fact, Angular already has a mock HTTP provider to inject fake server responses into controllers. – from http://www.sitepoint.com/10-reasons-use-angularjs/

Declarative

See the discussion on directives above.

Infrastructure Concerns

In addition to these angular provides solutions to these infrastructure concerns

  • Template Engine – Angular provides a DOM based template engine.
  • Data-binding – Bidirectional reactive data-binding
  • Routing
  • A context aware pub-sub system
  • GUI widgets
    It will be interesting to see Polymer custom elements and angularjs directives against each other.

References:

http://martinfowler.com/eaaDev/uiArchs.html

http://www.quora.com/What-is-AngularJS-When-is-it-needed/answer/Amit-Asthana

http://nathanleclaire.com/blog/2014/03/15/angularjs-isnt-mvc-its-sdc/

http://www.sitepoint.com/10-reasons-use-angularjs/

http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933