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

 

Advertisements

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.

Un welcomed in church

Born in a christian family, oh no i will be very specific. Born in pentecostal family and raised in church like little Samuel. The very sound of church choir, cleanliness, presence of invisible God gives joy and smile in face. Toiling through entire week and entering his presence for thanks giving on Sunday, the feeling beyond expressing.

I hail from a place where religious freedom is very limited, chaos every where. Just being a christian is great achievement by itself :). You may be thinking i am just exaggerating, but no.

The day on calendar was July 18th 2014, pleasant evening chatting with my friends. I got a call from my senior manager, “ Hi J. , How are you. I have a surprise for you. You are traveling to USA for a project. And it will be 6 months”. I rushed to the washroom and washed my face, just to make sure I am not dreaming, Oh yeah. The chase started to complete my travel packing and buying accessories. My mom gifted me bible, and rest all useful things, i guess.

I was happy that i am going to enjoy religious freedom, prayer groups, support groups. I landed on August 13th 2014 in Atlanta, the place where equality gave birth to. Jet lags, paper works, new climate, unknown place, food all bundled up to be a great goliath. My sister was gracious to invite me to her place and wanted me to attend the church on Sunday.

Pumped up with excitement and anticipation, got up early and readied myself to church. The church started at 10 AM and ended just within hours. I was in shock that the service was short. People rushed out to greet every one, as a new member to the church i was invited for a complimentary drink, i guess.

Sister was excited to see her brother after a long time wanted to introduce to pastor. I am 165cm height, brown, slim.. pastor was 195 cm, heavy, fair basically like a goliath. My sister introduced me to pastor and told him my credentials. The pastor looked down, i mean literally and said just “Hello”,  went away like nothing significant happened. I was wondering what have i done ? I asked my sister, she was silent.  This question kept on lingering in my mind the entire night. I could not get my head around this meeting, bible says simon was excited to see young jesus in church. Oh yeah he is jesus.

I was expecting a warm embrace from fellow christian or a shepherd, may be i am not his sheep. I was thrown off balance on christian faith, all along my life i was wrong about everything or wait am i overreacting?, May be. So i decided to visit another church next Sunday. The next church was closer to my residence and convenient to walk. The church started at 10AM and i was there until the end, you’re thinking i am waiting for complimentary drinks, oh hell yeah. I was directed to closed room, drinks severed, pastor came said “Hello everyone”… boom gone.

I liked the worship so decided to attend next Sunday. This time i was second time guest, so no drinks :). Service got over by 12PM, people gathered to discuss all stuff. I started conversations with few people and i felt lonely, because people talking only to their closed groups. I felt like i was in a desert and no christian to talk. I have attended many churches close to my vicinity, but no groups wanted to welcome me. Am i invisible ? What happened to christ love ?

Religiosity, ritual, groups have taken hold of our churches. The first church in ACTS, people were meeting in houses and breaking bread every day to remember the body of christ. No matter what color, gender, race, social status, if we are washed by blood of christ we are his children.

There are so many people like, who went through persecution needs to be embraced and welcomed in churches. So my search continues to find a church which welcomes me in-spite of my race, color, height, social status.

I am un-welcomed in church.

Auto login in TI-SDK, Am335x

I have been working with TI-SDK for past two years and every time i come across some interesting trivia posed by the systems engineers 🙂 . One of such request was to enable automatic login in tisdk. The idea is to lead the user directly to command prompt after kernel boot up. I tried several approaches over weeks, and zeroed in on the following simpler approach.

I am going to run through serious of steps followed to enable auto login in tisdk or embedded linux.

The setup which I used:

Version : TISDK 7.0

Hw: AM335x

Rootfs: Hosted on Network file system on ubuntu [ which is a guest OS on Vmware]

Firstly I need a configuration file for setting username and password. I can just hard code in the tool but want to give user the control.

The configuration file looks like:

#cat /etc/autologin.profile

root,root

Then I wrote a small tool to read the username and password from configuration file and use /bin/login for login to the shell..

// Autologin.c

// GPL, Author: Johnnie J. Alan

#include <unistd.h>
#include <stdio.h>

int main()
{
int nrv = 0;
FILE* fptr = 0;
char user[64];

char pass[64];

// clear buffer
memset(user,’\0′,64);

// open autologin profile file
fptr = fopen(“/etc/autologin.profile\0″,”r\0″);

// make sure the file exists and was opened
if (fptr != 0)
{
// the return value from fscanf will be 1 if the autologin profile name is read correctly
nrv = fscanf(fptr,”%s,%s\0”,user,pass);
}

// only autologin if the profile name was read successfully,
// otherwise show the regular login prompt
if (nrv > 0)
nrv = execlp(“login”,”login”,”-f”,user,0);
else
nrv = execlp(“login”,”login”,”\0″,pass,0);

return 0;
}

Note: you can change this according to your needs

I cross compiled the tool for ARM and placed the compiled tool in /sbin

arm-linux-gnueabihf-gcc -o autologin autologin.c

Then I changed the init scripts to reflect the changes, basically setting up getty. My setup uses Uart0 port for console.

The configuration for the console is present in /etc/inittab. The changes which I made is highlighted below.

#Johnnie S:2345:respawn:/sbin/getty 115200 ttyO0
S:2345:once:/etc/init.d/myloginShell

The file myloginShell is just used for my configurations, the idea is to isolate my changes from the defaults.

The contents of the myloginShell is

#!/bin/sh

# I have removed some of other configuration which is not relevant for this post.

showLogin=1
if [ $showLogin -eq 1 ]; then
while true; do
# This is line which is important. ttyO0 indicates by Uart0 console port

# I am asking getty to use my tool instead of /bin/login which is default.
/sbin/getty -n -l /sbin/autologin 115200 ttyO0
exitCode=$?
if [ “$exitCode” = “129” ]; then
break;
fi
done
else
stty -echo
fi

Viola, You have the setup ready to automatic login.

You can also do the same in inittab itself.

#Johnnie S:2345:respawn:/sbin/getty 115200 ttyO0
S:2345:respawn:/sbin/getty -n -l /sbin/autologin 115200 ttyO0

Thanks for reading this post and Happy logging.