Sunday, March 18, 2012

HTML , CSS and JavaScript - technologies of the future ?

Now,every third person (programmer) on the street talks about HTML5 , CSS and JavaScript. There are  frameworks like PhoneGap and Sencha touch which people use on mobile platforms.

The Browser based app model was made popular by microsoft which packaged IE as an active control. In their MFC (C++),they had CHtmlView to display HTML pages and javascripts can be embedded inside those pages.

Writing native apps is an overkill for most mobile applications. Tapping the availability of  programmers who are familiar with web technologies is the economics behind the HTML 5/CSS/Javscript bandwagon.

At last,some people will consider Javascript as a primary programming language. 

Saturday, March 17, 2012

I am terrified when Sachin Tendulkar scores a century

In the mid nineties,there was a Dinesh mills advertisement featuring Sunil Gavaskar. The moment that ad. was shown on the TV,India used to loose wickets. I have wasted my Youth watching all the cricket match played by India.

The arrival of Saurav Ganguly on the scene made some change in the fortunes of Indian Cricket. The "Miandad Jinx" of 1986 was broken by Saurav at Toronto. Sachin Tendulkar also played some of his memorable innings against Australia roughly at the same time.

Some time back,Moin Khan made a remark about Sachin's capability to play Shoaib and co. All of our country men attacked Moin for his remark. But,I found there was element of truth in it.

Ideally,Sachin Tendulkar should call it a day and take coaching or commentary to keep his reputation alive. India was one player less for the past one year. Sachin's sole "aim" seems to score that "super ton" ( 100th 100 ).

For some mysterious reason,India is always on the loosing side when he scores his century. One he scored against Bangladesh was another case in the point.

I think, now he has not got anything to achieve in the international cricket. In a way,I was happy that he scored his super ton.At least,the achievement will prompt him to do something worthwhile hereafter.










Thursday, March 15, 2012

Cognitive Trap - a new meme which I came across

To do well in anything,we need focused pursuit. Some people seems to be really focused. A casual observation reveals that the focus is the result of their (lack of or lesser ) Intellect. But,with practice,anyone can achieve good skills in most earthly stuff. (Intellect do not play a dominant role
in most earthly pursuits !)

Most analytical people fall into the trap of thinking that Cognitive ability is everything and look down upon people who are focused in their goal. The analytical group will flirt with different stuff in their life and will acquire a set of "irrelevant" skills, from a bottom line perspective.

The best way to save ourselves from this (cognitive trap ) is to learn to filter irrelevant and trivial things out of our ambit. This is the hardest task for people who pride their analytical ability and intellect !!



Wednesday, March 14, 2012

Desirous can be confused as De-serious ( at least,it did for me !)

I happen to read an article where the writer used the word Desirous and I did read it as "de-serious". Luckily for me,it contradicted the sentence and I took a fresh look.

Desirous - Having or expressing desire


De-Serious - I do not know whether such a word exists. My interpretation was lack of seriousness.


The Capital - It knows to protect itself

We are living in a world which runs based on the flow of capital. The natural tendency  of the capital is to get good enough returns with least or lesser risk. Otherwise,It will flow to the place where it can get it's due justice (return on investment ). ( Even Bill Gates [one of the richest man] has to invest his capital to stay afloat ! )

If the return is big,it might not be sustainable and if it is low,it is not viable. An optimal point in these extremes will be reached by trial and error. Institutionalization and it's checks/balances are a   way to make sure that no one person can be in a position to jeopardize it's Risk-Return model.

We all are slave to this model. That is why it is called "Capitalism". Capitalism survives because of the TINA factor ( There Is No Alternative ).


Monday, March 12, 2012

Value pipeline - Every man ought to be part of some

As an Individual,to make a living,one has to be part of one or more kind of Value pipeline. We can  divide the world into two class of economic agents,Producers and Consumers. To have a model,we can say that they are consuming or producing value.

To maintain a steady supply of things of value,societies have resorted to Institutionalization for the production. How much ever knowledge or skill an individual posses,he needs to be part of some kind of Institution in  a permanent or transient manner.

In such a scenario,where you are placed in the value pipeline determines your take away or the bottom line. Simply having excellent  knowledge or skill won't help an Individual now a days. They need to be wise in the ways of the operational aspects (process ) commensurate with their position in the Value pipeline. To follow the process inside a value pipeline,we need to be procedural in nature and I have found people with analytical ability struggle here. The advantage of the process is mechanization of the know-how. This helps average steady Individual to be a key player than a maverick guy with strong intellect.

In Value pipeline,survival is based on the relationship than the concrete delivery you make. Welcome to the brave world of "Process Driven Value Generation".

Gluttony and Computer Programming

I came across the word,Gluttony through a friend of mine recently (this january ). I was struggling to find how to use this in a conversation. Yesterday,in the StackOverflow forum,some body has written a term viz "gluttonous" app ( he meant an app which consumes lot of memory on an iOS).

At least,as a slang,I now dare to use the word.

Reading state of the art technical books and ground reality

I had a discussion with a friend of mine who happen to go through "More Effective C#" recently(while bed-ridden in a hospital and at home ). Despite being a capable programmer,he confessed to me that he had to struggle a lot to get up-to the speed.

I was able to appreciate his struggle better because,too often,I have found myself in the same boat. The books in Effective Series should be considered as books for Software Library writers. Their decision on choice of features can affect the readability,performance,programming model etc.

We (he and I )often work with application code now a days and on the ground,people still are in the If/else/while/select/update/delete mindset.


Solution Architecture , then Technical Architecture

In  service companies,I have noted a pattern where team leads and developers think the solution in terms of the widgets and classes in the target platform. This has got an advantage that we can bootstrap faster and some thing concrete can be shown to the stakeholders. We need to pay the technical debt for this for the rest of the period which we are in the project.

A plausible minimal entropy (minimal is dependent on the relative strength of the team ) strategy would be

1. Understand the user requirement
2. Try to have  a (target) platform independent approach for solutions
3. Select Widgets and classes to prototype and implement these solutions

In other words,try to have Solutions architecture before you for Platform specific thinking (aka Technical Architecture )



Functional Pattern Matching - Struggling to Explain it to OOP fraternity

Couple of months back,I was fiddling with F# and Scala to get a feel of typed functional programming languages. The reason for choice of  F# and Scala was that it runs on .NET CLR and JVM respectively.

Being a person who is interested in compilers and interpreters,I found pattern matching to be a cool feature which performs sophisticated unification (type unification ) based matching.

Here is the essence what I am trying to communicate to OOP programmers

We can compose objects (Composite pattern ) to model hierarchies. Once we have created a Hierarchical Object Tree ( Object Graph ),we need to traverse the tree to do various processing. We need to use Visitor pattern to traverse the hierarchy in a non-intrusive manner (otherwise,each node type has to handle the action themselves ).  In OOP,we need to create a canonical base class and each node has to implement that interface and there should be hooks for double dispatch within the node hierarchy. 


Functional Pattern matching allows you do the above in a declarative manner. All we have to do is declare discriminated unions for a type and have a processing function do bulk of the reduction of tree by 
pattern matching. (Reduction here means traversal and visiting every node to compute value or have some kind of transformation on the tree )

Visit this page of mine to see Functional Pattern matching in action @ http://praseedp.blogspot.in/2012/02/f-code-snippets-part-8.html







Sunday, March 11, 2012

A must read article for software developers and ux designers

I found it to be useful,perhaps,u might as well.

Read @ http://uxdesign.smashingmagazine.com/2010/02/25/designing-user-interfaces-for-business-web-applications/

People with broader perspectives are easy to deal with , but hard to find

One can use reason to make people with broader perspective agree to go on things which leads to win-win situation. When Capitalism (free market and de-regulated trade ) and Individual freedom came together in a crowded country like India,the pressure is felt everywhere in the country (There is no alternate model as well !!). Now,I have noted that there are "illiterate" literates who thinks that every one can succeed and if we do not succeed, it is our own fault.

This race to succeed has made an army of people who are narrow in their perspectives about things around them and communication breakdown happens,even before we have finished shaking hands. This reminded me of a book which Eric Berne named as "What do you say after you say hello ?". Slowly,we do not have a common "semantically equivalent" language to communicate.

Personally speaking , I consider Life as a rally. Unfortunately,some souls tried to make it a race !. Entropy is increasing fast because of that.



Thursday, March 08, 2012

We seldom exploit OS and Platform provided libraries

The Apple provide lot of features which enables developers to create apps which are UX friendly. They also give robust frameworks for helping the developers to develop those apps. But,as developers,we end up coding most of the features ourselves as we are not aware or we are lazy to invest time in learning those frameworks.

When you invest time in an OS or development platform,try to learn the dominant idioms advocated by the vendor of the system. Try to exploit the libraries available with the system and it's programming model.