My struggle with Autism

I was born in a christian family, bible studies and prayer were my food. My parents were doing God’s ministries in remote village. The finance in the family was enough for the food and shelter let alone medical attentions. But we had lot of help from people from different walks of life including Medical, education etc.

From early days of my child hood I had a feeling of something missing. I was afraid to tell my parents or relatives owing to financials. I reached my twelfth grade and it was time to choose my career path. It was most difficult time for me, I don’t have anyone to cry to or talk about. My parents wanted me to be a minister of God, I also wanted to. The speech impairment was so severe and I don’t want to embarrass God. so I decided to pursue engineering. No one knows this actual reason, but only me (now you know).

I was not ready to accept my handicap yet. I pushed through my engineering studies but never took any stage appearances or speaking competitions. I kept my circle small, even if my secret was out it can be contained.

Completed my education and got a job in Software firm. My analytical capability helped me to climb the ladder but something was holding me back. while i was chatting with one of my close friend, she sensed that i am struggling to speak. She asked me to take a test on autism, I panicked and was afraid. I prayed about it and consulted a doctor who told me you may have autism.

I did not accept his findings and i was in denial. Few years later I came to USA for Job opportunities. Things were going fine, but i was having difficulty communicating or speaking.   So i decided to get it checked again, I got confirmation about autism. Now i am afraid how will my family react ? and will they accept me?

Struggle that i went through was enormous, I cannot speak what i think. It was like partially dumb. Close friends mock for being this way. One of my close relative told me this “You could have born as dumb”.

Still I relieve few incidents over and over again,

Incident 1: In Lufthansa flight from Germany to USA. The air hostess came to ask me about the lunch order, I spoke some sentence which she did not understand. She called her counterpart and spoke in german, laughed. Few minutes she came again asked me same question again. I spoke a sentence but she did not understand. She told me, if you cannot speak why did you use this flight.

Incident 2: My sister in US threw a Christmas party for which she invited her friends. She called me to attend, I wanted to attend but I decided not to. I cannot communicate with large group of people, I would just stand in the corner like a jerk. She was angry and never talked to again. I understand from her standpoint, but i could not explain to her about my handicap.

Immigration officer mocked me for not answering the question, but my brain think i have answered.  I formulate a sentence in mind but while communicating i miss out some part  it, but mind thinks i have already conveyed. The sentence i speak most of the time could not be understood, I shut up my mouth any were i go. This made me being alone all the time, I am afraid of being with group of people, I cannot make small talk or general talk, I can talk about only technical terms, cannot draw conclusions or thought about a person or any incident.

But when my mind is quiet i can talk fluently. Some time ibuprofen helps me. I won’t blame God or parents. This is the way i was designed, so I will prolong as long as possible.

My understanding of ArcNet protocol

What is ArcNet?

Attached Resource Computer Network is a communication protocol widely used in build automation. This protocol is very efficient in Local Area Network, wherein multiple devices want to share information at faster phase. Core functionality of this protocol relies on token passing between nodes. Better analogy could be, consider network as a shared object and token as the key to the object.

What are other features?

Data speeds up to 10Mpbs, Variable packet lengths, Supports Bus or star topology, Uni-cast and broadcast messages.


Let’s dive into each message types in the protocol.

RECON – Reconfiguration

This is another important message or feature to keep track of the network changes. This message can be triggered in following cases:

  1. When a node joins the network
  2. When a node leaves the network
  3. For high performance, it can be triggered every 20 – 30ms

image007

ITT: Invitation to Transmit

Token is the identifier for the node or the device in the network. When node enters the network it sends a RECON message. This message will inform the network about change in configuration of the network and re-start the token passing.

Let’s take a simple example of a network.
picture1

Now node 1 starts the token passing, it will send out ITT message to destination nodes starting from next address of its current address. In our case it would be 0x0B. It keeps on sending ITT until it receives the response from any node in the network.

image003

Now as you can see, 0x02 node has responded to the request from 0x0a. Now the token is with 0x02 node, so it starts it token parsing to find out another node in the network.

When ITT message reached the destination as 0x05, node three responds takes on the task of token parsing. Then it identifies the another node that is i.e 0x0a. So token passing happens until all nodes in the network are identified. For our setup the intial token passing is completed we have a network 0x0A <-> 0x02 <-> 0x05 <-> 0x0a.

After accomplishing the network and identifying the nodes in the network. The token passing keeps on continuing as shown below for efficient data transfer.

image005

How? say for example 0x0a wants to send some data to 0x05. It can send the data only when it has the token. As I said earlier, token is kind of key to the network infrastructure and resources.

FBE – Free Buffer Enquiry

Before a nodes a sends packet to another node, it needs to know if the receiver can accept incoming packets.

When the node has the token, it would send a FBE request to receiving node. The receiver can chose to send ACK or NAK.

FBE with NAK/ACK is shown below

image009

PAC: Packet

This is the message protocol to send data frames to the receiving node. The data could be anything.

The frame contains Source address node, destination node, length and the actual data. The receiver can ACK or NAK the transmission.

PAC sequence is shown below:

image012

ACK: Acknowledgement

Sent by receiving node to the sender about accepting the information sent

NAK: Negative Acknowledgement

Sent by receiving node to the sender about rejecting the information sent

 

My Experience with Online Marriage Proposals

No, marriages are not made in heaven. Or hell. They’re made on earth. You and your partner can decide whether to MAKE a marriage a heaven or a hell

I was fresh out of college and joined a prestigious company in Mysore as a trainee. Life went on smooth and I was so into career development forgot about other life aspects. Sooner most of my friends had girl friends, their first kiss and carnal pleasures.

Some of my close friends started to get hitched knowingly or unknowingly :). I had two sisters, so i did not feel the pressure from my family. Years passed by then i realized some thing was missing, may be girl friend or lover to chat ? Nah. My dad and mom started to bring in the topic of marriage now and then. So I decided to take plunge into online matrimonial sites.

I registered in several matrimonial sites, diligently I wrote a intro about myself. Sites started to give me potential/preferred matches based on my settings.  And I started clicking on sending invitation to all matches. It was like speed dating or blind date just to look at the categories and match. Next day I received several message on my inbox, 90% of them where rejections. I could not understand the reason, because website wont give any.

Months passed by without any luck, probability of rejection increased to 100%. One fine day like a dream i got a invitation from a prospect through online site. We chatted for a while and Family liked the profile they wanted have a face-time with me. I prepped myself for the interview online. The interviewers started questioning, about bible, Jesus, David’s Sins. I answered all of their question as I had completed by Biblical courses. The Next day morning I got rejection mail from the Interviewers. I was puzzled, so I just wanted to get their feed back. They told me I quote “We did not like your answers on David’s Sin”.

My Next Interview was a few days later, I told my colleagues to pray for the interview. I was nervous after my first encounter. This time they asked me to play song on guitar and sing along. The very next day i got a mail about their rejection. I did not get any feed back from them, I think they did not like my chord progression.

Meanwhile, I had few accepted candidates but they got married before I could get a shot at the interview. Few weeks back I received a message from a girl through online matrimony. She texts me only when she is drunk. After a few rounds of chatting over whats-app, she called and said i quote “My parents wants a guys close to my home and earns more money than you”.

Most of the candidates on online proposals have high expectation about their partners on categories like  Money, Citizenship, Green card, Height, Caste, Color. Being a single male for these years without any girl friend and relationship, I find this search ridiculous and unholy. I strongly feel it should be based on the personnel connection and interests not on monetary benefits.

My Interview experience with Amazon

After making sure that my resumes are updated and well according to the standards. I scanned through the job portal for amazon jobs, after carefully reading the job description; i decided to apply during mid last year. I almost forgot about the application, out of the blue i got call from the recruiter asking whether you’re still available in market. I replied positively to the recruiter. They sent my profile to the hiring manager and asked me time slots for the interview. Got the response for the interview slots.

I prepared myself for the interview for about a week, brushed programming skills on data structures/algorithms, I took courses with MIT open course ware. Finally i am at peace before the interview, all the topics i covered was running in my mind like a dream. ok enough of story, let’s go through the interview questions.

The interviewer was very kind enough to explain about his role in the company and its business values. He asked me about my roles and responsibility in the team, following are the questions in order.

a. Tell me about your responsibilities and teams

b. Tell me about the challenging situation with the team and how do you handle it.

c. What proactive ideas you gave to the client and what is the response from them. And to follow-up this he asked me questions about the solutions.

d. Tell me about the situation where you took hard decision and its impacts. Specifically he was asking about breaching the dead line.

e. How did you handle changes in requirement and how did it impact the team.

f. How did you manage the conflicts in the team.

I answered the questions with utmost diligence. I complimented the team all along, it was the truth. Hey No cribbing about the management. After that he asked to open  http://collabedit.com for programming. He started to write the problem statement. Following is the problem statement. Create alogrithm for the dependency list of the package installer.

Amazon_interview_q

I looked at the diagram and got a bright idea to use undirected graph. He asked me why undirected graph, I though for a while and decided to use directed. Since there is no reverse dependency i.e core is not dependent on Apache so it is always one direction. He asked me to write the program and i started to create a graph class. Following is the solution i provided, i will just write in sudo code.

a. Created a class called “graph” which has a list of int, strings, and variable to store the max number of the vertices. Integer list has the index for the string in the string list, example string “Root Package” has index “0”.

b. A function to iterate through the graph and update if it is visited in boolean list. I chose Depth First algorithm for iteration.

c. In Public specifier; I added constructor, Add edge function, Get list function.

I was not silent in the call but kept on telling him what i was thinking, just to engage him in conversation. You may think why list of vertices, I will give you a pictorial representation of the list.

Amazon_interview_list

This list has the path to trace back to the parent, because he asked me to check for cycle. Anyways the coding went well and he said it is good. May be you have a better idea for this problem, but this is what I can come up during the interview session.

Code is available in my git hub page

 

Progress bar in Cell – Excel

I have been searching for while to add  a progress indicator in excel. It is so elegant and easier for convening the percentage completion to the reader. I will walk you through the steps and settings. I used office 2010 professional.

We need to create a new rule for the cell. So select the cell for which you want progress indicator. Then click on “New Rules” from Home->Conditional formatting.

new_rule

A popup window will appear, select the following options

selections

After selecting the options mentioned above, click on “OK” to apply the rule for the cell selected.

Format.png

Then go back to your excel sheet, click on the cell and update the number you wish for the progress bar in the formula bar.

percentage_10.png

You can copy this formatting to other cell and update the number in formula bar for each cell separately.

sample.png

 

Ideas on Designing Software based on my experience

I am going to put forth my ideas based on my experience. Software designing needs lots of patience and need to be open to ideas or changes. The first few phase are very trivial for software design. I had an opportunity of designing three software from conceptual phase.

1.Gathering the requirements

May be this sounds easier, but believe me it needs your time. For the first software which i designed, it took me two months for requirement elicitation. First step is to find out whether the product is for the internal or external customers. Both customers are very unique, internal customers are critics and external customers are consumers.

After determining the customers, bring the stake holder in for a discussion and understand the following:

  1. What is the end goal of the product?
  2. What is scope of adding features in future ?
  3. Is it aligned to the market trend
  4. What is the targeted time frame ?

These discussions will give you a fair idea about the software/product and it will be easier for you to communicate in their language. Create a database to store all the meeting minutes, requirements documents. Go through the requirements document and create an understanding document based on your understanding about the requirement and get it reviewed by the stake holders.

Initial tough phase is completed.

2. Finalize the technology

Now you have a fair idea about the product. Do a market research about the softwares that can be used, just to give an example.

Technology Difficulty level Is it easier to maintain License Is support available
C Medium yes GPL Yes, online forums

This phase is also very trivial since this is going to determine path for rest of your project.

3. Proof of concept

According to me, this is where your software gets life. This phase can eliminate the unnecessary complication on platform, technology. In my first project i ignored this phase and it lead to major complications. We were to design a cross platform software for a Embedded product. My fellow engineers chose wxWidgets just based on the initial market research. The development went fine on one platform until time came to test on windows, the entire software broke. We ended up debugging the software to create work around.

So don’t do this mistake. This phase will not resolve any un foreseen issue, but it will at least give you an heads up.

4. Decide on the design pattern

Here comes the dilemma, there are more design patterns available than anticipated. In phase 3 you might get some idea about the working of the software in very high level. Use that understanding to zero in on design patterns. A piece of advise, have two or three design patterns as fall back position.

5. Decide on building blocks/modules

The design should be structured, easier to maintain and expendable. Create building blocks of the software and find a common blocks which can be used by all modules. Blocks not the very low level of coding, I am just talking about the modules.

I will take an example of GSM messaging, Layer 3 messaging RR,CC, SMS etc,

Building blocks - Software

I created base block for the all the layers to be able to control completely if any changes in future.

6. Communication channel between modules

We have decided on the modules, number of building blocks and common blocks. Now we need to finalize on the mode of communication between these blocks. In my first project the softwares includes four services, a. Main GUI or tracing b. Configuration management c. Clock d. Simulation components. So How did i decide on the communication mechanism, its simple. First draw a map about who’s is going use those modules, is there any updates required during run time.

So in my case the configuration server holds all the information about the current running instance and needs to be update in runtime and broad casted. So i decided to go for a client server design on sockets, one for updating data and another for broadcast.

Communication - software.png

In your case it could be just a function call.

7.  Designing individual modules

If you have reached this phase, you have complete understanding of the software by now. The modules are tap points for the application layers. So make sure you make it very generic so that it can be completely controlled by the application layer. For instance we will take the GUI wants to connect to a server

GUI module:

function_connect_to_server();

Instead of this you can have

function_connect_to_server(url, password,username… etc);

8. Design document

You may be an architect but in order to make your design rolling, you need to document. Keep in mind that the engineer does not have extensive knowledge, since he/she is not involved from conceptual phase. In first project i got this wrong and assumed the engineer knows.

After you document the design, make sure to get the design review by SME’s, stake holders. This will give a chance to correct the design, if you have missed any trivial part. This does not mean that you have got all requirement correct 🙂

Before closing up this discussion. The above mentioned points are purely based on my experience. I always strive to make the design make very generic and to embrace changes based on the customer experience.

Good luck in your software design.

My First Love

It was September 15th 2013, pleasant Sunday morning in Bangalore. Traffic as usual and clear sky. The church starts at 9:30 PM, I lived in BTM layout closer to work you see. I got up had small fight with my room mate about lunch, who will buy stuff as usual. Cleaned myself up and started my two wheeler, Honda activa, put on my fancy helmet [ as if i am riding a harley :)]. On the way to my church had a small chai, got on to the main road. Reached just about time before church starts. Just remember that pastor had a tough talk previous Sunday about being late to church.

Worship started and I indulged myself in the presence of God. Little did i know that my heart will be gripped with love today. This Sunday was special because it was baptism service. Those of you who don’t what it is. It is most auspicious day for any born again christian, as his/her old self is buried and new born again child is resurrected in christ.

The announcement was made for a daughter and father duo’s baptism. I was so curious to know who they are  and wanted  to see their dedication for the love of christ. The father went in to take baptism, he is dark in complexion, smile like a child, little less hair, larger figure. As he went in the water it splashed as if it was excited. He read few letters, may be a vow or a covenant with God.

Then came the daughter into baptism, I could not see her face. I said “i was so curious”, so i took my iPhone 4s ( a new one ) and started clicking pictures/videos. She went in the water and in minutes new born again girl started to come out of water. It was like a slow motion movie, my heart started to race like i was running in 100m dash. I did not tell you i am footballer, never mind. Firstly her hair approached the surface, it was dark black like a painting so spongy on the very look of it.  It took me into cloud number X, wait may be Y. I looked around to see if every one else feeling the same. All people around me was praising god or clapping or may be chit chatting.

My eyes became bright as though thousands galaxies collided. And then her fore head started to emerge out of water, it was long like a Highway 10 saudi arabia and had minute nerve dividing her forehead. I felt like choking and was gasping for air. I thanked god, oh God you’re a great sculpture. It seemed like hour before the forehead finally ended with her eyebrows like a thick amazon forest. It was calling me into a trans state. I completed lost my mind.

As my mind was comprehending the quality of her eyebrows, suddenly a lighting was stuck. It was her eyes, so gorgeous, clean, black eye balls, so innocent. I could still see her eyes as I write this down. My spirit patted on my shoulder as my mind and body was completely in zombie state. I was paralyzed and some thing in my stomach flying could be a butterfly. As my own self was in excited state she emerged out of water and she was called Abigail Fernandez. Gorgeous from head to toe, not the way you imagine but divine, like an angel in flesh.

This name Abigail F. kept on ringing in my mind and i could hear it even when i sleep. She gave me a purpose in my life and suddenly everything was gorgeous. It happened all of a sudden, yes its right. I was not prepared for it and was not anticipating. Church service was over and i was not wiling to go home. I stayed there and just basking in the mere sight of her. All people in church were swept away and i was asked to leave the church.

I drove to my room not knowing what to do. This is a new feeling which i never experienced, it kept me from eating. I started to repeat her name in sub conscious. In a nut shell, i panicked and fell into deep hole which does not bottom out. Next Sunday, I was excited to attend church and chose a seat diagonally opposite Abi, hmm thats her nick name now. I barely knew that girls have intuition may be they are born physic. In the middle of service she turned and looked at me and made pig mouth ( My grandma does this when she is very angry, how does abi knew my grandma reaction ), oh God i wet my pants. I am shy guy, but her dad was a gigantic, heavy weight. He can crush me into a mash potatoes in just one blow.

My next step is to talk to Abi, but my body was not co-operating. It starts to shiver just a feet away from her. So i took a passive way, that is Facebook. I started messaging her, compliments, suggestions, thanks, prayer, whatever my friends as asked me to send her. It was like a one way traffic, she never replies but reads even it is mid night. I wanted to propose her on 2013 christmas.

On 23rd December, 2013 i messaged her this “I wanted to tell you something for a very long time, i am praying for god’s guidance” . I pressed send and just a fraction of second she blocked, she thought i am a stalker. My whole world crushed down, all my virtual dreams shattered. I went into the washroom and started crying, I hit on the wall for being a coward. Until now i am not able to forgive myself for that moment. I started cursing myself for being a coward, shy, socially awkward. She will never know how much i loved her, Oh God please give me another chance.

Thanks for reading. Just a word of advice don’t bottle up your feelings. If you like someone just let them know. Life is very short.