17 November 2013

Wonderful Experience in OpenGyan Workshop

"Those were really fulfilling moments". 

This would be an understatement. The amount of satisfaction and sense of attachment i get out of OpenGyan's workshop can never be said in words. A day's time or sometimes probably lesser than that is required to rejuvenate my morale. The amount of inspiration and motivation i get from the tiny leaders out there in schools is very huge. Many folks think i go to colleges to add value to the students. But usually it is the opposite. I feel that i get a huge benefit and value from those students - a bunch of students who have hope in their eyes and fire in their belly. You never know the magnitude of their fire just by looks. You should really talk to them.

Yesterday, it was once again a great moment unnoticed. I would rather say that it would have gone unnoticed had i been normal, usual. Yesterday was the first time we were in a polytechnic to meet up budding diploma holders. We spent close to three hours to talk about computers, programming and operating systems. Many times during the session, i hit my limits and had to rethink about the way i deliver the session. The questions were spontaneous, direct and cannot/should not be missed. Yet all those had to be answered to curious minds.

It was wonderful session and i sincerely wish all my workshops are like this. If the participants try to shake my understanding of computing, it helps me to understand it better. Yesterday was one such day. Because of intense discussions, we missed to capture the moments through lens but we didnt miss to capture the college along with Paramaraj (alumnus of the college and my co-worker) and the faculty from Dept of Electronics.

Don't miss to visit us in Facebook - OpenGyan @ Facebook (your support means a lot to us)

04 November 2013

Improve Thinking Through Designing Scenarios, Puzzles and Games

As a part of OpenGyan, we have started to roll out videos for the students who want to be in touch with us. The design of topics and boxing them to 7-10 minutes duration is very challenging. When we do in-class workshop, it becomes a lot easier. But in the video we need to complete our session logically within 7-10 minutes.

While doing that i understood the power of analogy, co-relation, quickly building a short
scenario that can be expressed in under a minute. I see that these scenarios, puzzles and games help me to convey the point and i believe it will also help the listeners to have sharp focus on the content.

At the end, we also suggest some exercises. Again these exercises are scenarios, puzzles, coding problems and games. While i am designing the content, i find that my perspective on the topic changes and i tend to refer the text books, online materials to verify my understanding. And in that process, my thinking grows.

Designing our own puzzles, scenarios and games certainly helps to improve our thinking.

Now a bit of shameless branding :-)

To watch our videos, kindly check out our YouTube Channel.

Spread a word around (join us in Facebook and like/criticize us) and get into our hall of fame.

Happy week !

14 October 2013

First Video from Canon 600d

I have been writing posts here in Unstuck for quite sometime and i always wanted to move to next level from writing to something different. The entire world is moving towards video. Recently, i bought a Canon 600d DSLR (in fact it was my wife's negotiation skill that made me to buy this camera. Later i thought, it is worth buying) and captured few videos. Here is one that i captured and published under the banner of OpenGyan. I thought of sharing it with you. Here is the video, watch it and share you comments.

30 September 2013

OpenGyan - Update

Last Saturday (28-Sep-2013) we @ OpenGyan were in Bangalore at KSIT. This is our first workshop in Bangalore. This time we were conducting our workshop on Networking. Originally we planned to conducted Networking and Network Programming. We were not able to touch Network programming due to time. Hopefully we conduct network programming soon.

It was wonderful experience and we should say that the students were brilliant. There were lot of intelligent questions and the students attended the workshop with full enthusiasm. After seeing their enthusiasm, i felt that i should go back to college and learn once again. The hospitality and the interactions with the students and professors we really enriching and rewarding.

Kudos to everyone who made this event and we really looking forward for our workshop in KSIT again. Here are few snaps.

21 September 2013

OpenGyan - Becoming a Better Programmer

[Alert: Longer post, targeted for students community. Comments are welcome from seasoned software engineers]

Recently we had a couple of OpenGyan's workshops and i happen to scribble my ideas to the students. I hope i will be able to dedicate more time in writing posts like this. Hope this helps the students' community. Though software engineering is a very complex area (is it really that complex?), we are going to focus on the things that are very important for software development of any sort - may it be a lab exercise or a project. The readers are suggested to reflect upon the exercises given at the end of each article for better understanding.

I was reading and reflecting on the short article written by Badhri on Programming languages. Though it was short, it gave a general overview about the programming language. Any programming language is a tool to achieve your imagination. For example, if you are writing a simple program (similar to the ones that is given to you in lab), you do not need to think much. But in reality it isn't the case. To be a programmer, knowing a programming language is secondary because knowing the syntax of the programming language won't make you a good programmer. If knowing programming language is sufficient, then compiler would do the job. Software development is much more than knowing a programming language or few.

Any software is a solution to a given problem. And programming language is just a tool to solve the problem. The solution to the problem is more important than the tool (the programming language). In order to develop a better software one needs to follow certain basic principles in a specific order. The rest of the article discusses the basic principles of software development in a much simplified way.

First, one needs to understand what needs to be done. Because you cannot go on writing program simply for everything. You need to understand that you are writing a program for someone to use it. Remember that you will not always write program to improve your knowledge. So understanding the requirements - what needs to be done plays a crucial part. Understanding the requirements is the first step and if you do not understand the requirements, remember you do not have the second step.

As a second step to writing a program, you need to know how to solve the given problem without employing much of your knowledge on programming languages. For example, if you are writing a game, you need to understand and know how the game is played, how many players are involved, what are their roles etc. In this phase, you will least bother about whether you will use linked list or array. But you will solve the problem at an abstract level. This is called high level design. After high level design, you will decompose the high level design into modules and design each modules. For example, if you are writing a program to validate Palindrome, you need to have input module, processing module and output module. This ability to decompose the problems in sub-problems and solving them with sufficient data structures and algorithms is called low level design. While you are solving the problem, you should also keep in mind about the future problems that may crop up. Your design has to be flexible enough to accommodate future problems (which is quite challenging).

The third skill that is required is to convert the design into product and this is where the programming language comes in. Without the above two steps, the third skill is not worth and in fact not needed. Once you have understood the problem and solved it at a conceptual level, then implementation becomes pretty easier. You do not need to beat around the bush. During the implementation phase, you will implement the entire software module by module and finally integrate the modules to make it bigger whole. Apart from implementing the design, the coding is also about producing maintainable code. When you develop software, you are writing the software which is expected to live more than your lifetime. The program (aka code) can be written with a lot of grace and the code that is well written will live beyond ages (example Unix). The developer needs to understand about other developers who are working with him/her and the people who will be working in future. So programming is not merely following syntax but much more than that. As this point of time, we have discussed about three important qualities of a developer.

The final thing that you need to do as developer is to test your software. The primary focus of testing is to uncover hidden defects. As a developer, you are the best person to know about your code and it makes sense for others to bank on your certificate. So, it is the developers' responsibility to test the software and fix the defects. This is called as unit testing as the developer who develops it ensures that all the code that is written works as expected.

You need to evaluate how much percentage does a programming language play here. May be 40%. But please do not get me wrong. For writing a software, you need a language however for solving problems you need skills like understanding requirements, designing and most importantly testing it. Without these skills, you will not be able to excel as developer. Now would you understand why you have "Algorithm", "Flow Chart", "Hand Calculation" and "Output" section in your lab observation.

When you follow the above software development practices right from the beginning, you become a natural programmer/developer to solve any complex problems. You may want to evaluate your current way of writing programs. First solve the problem and then start writing the program. Though the exercise is short/simple, i am sure there is a lot to learn in terms of processes.

Take any simple program (Palindrome, Fibonacci series) and apply all the concepts you understood from this article (Duration: 3 Hours, Complexity: Medium)
  1. Clearly understand the requirement/problem. For example, what is palindrome or Fibonacci series
  2. Solve the problem by decomposing into modules
  3. Write the software
  4. Finally test

Happy Weekend

15 September 2013

Learning and Rules of Brain

For quite sometime, i have taken up reading quite seriously. All the credits should go to OpenGyan. In order to prepare the content and aid me in delivery of workshops, i tend to read books (most of them are bibles and it needs at least few years to completely understand the content and solve the exercises in the books). For example, when i started to design workshop on Linux, it was mostly my experience along with gathering of information from "man" pages. I later found that a lot of coherency can be brought to the presentation, workshops and its contents if i follow a standard text book. It has couple of advantages. We tend to know ahead of time what can be covered in a days time and helps me in structuring my workshops. The second, sweet and big take away is that i tend to read a lot of material which in turn makes me to know little more. Because of this approach, my learning is incremental and i tend to know how the students will struggle if just dump everything in single shot. So, my effort would be to explain them what is required to understand a topic, do some experiments and give them few case studies. Finally get their feedback to fine tune the content. 

In this process i understood the importance of revision and its short-term and long term-benefits which is outlined in one of the interesting books that i read a while ago - Brain Rules. In order to fix the issues in the content and my understanding, i need to reread the text books and correct my understanding. When i read it again, i tend to get a feeling that my real learning starts today as i would learn something little deeper and the information seems to be wired strongly. This kind of makes me to take the classes at a relative ease (for the ones that i revise and i continue to struggle until i find the resonance ;-)).

There is a scientific way to know how brain works and the efficiency of the brain can be increased (btw, it works for only who has it and who uses it but it can't do any magic if you dont have it or use it, wow what a pun ;-)). Brain Rules makes sense now and if you are interested in developing your brain, check out thisthis and the video below.

Learn the rules of brain, and you won't regret it.

Have a good Sunday or a great week ahead if you are reading this on Monday :-)

09 September 2013

Good Read - Write Great Code

I am currently reading the book "Write Great Code, Volume -1, Understanding the machine", by Randall Hyde and i should admit that the book has to be read by all software engineers who are into the business of writing code. It is the foundation that is often neglected. A Java programmer works at a very high layer and might feel that he/she doesn't need to know all these lower levels. But then, i feel that it is very essential for coders to understand the environment where the code runs.

The book has twelve chapters. The book starts with numeric representation to all way up to input/output. The book talks about CPU architectures, memory architecture and organization, instruction set architecture, boolean logic, memory access, binary arithmetic and floating point. I would say that all coders should read this book at least once and they have come back if they have forgotten it :-)

If you are the coder, you must know and i feel it is a good investment to buy this book.

Maybe, i will be sharing my knowledge once i complete reading the book. OpenGyan is making me to know/read more.

08 September 2013

State of Fresh Graduates

Recently we had discussion with one of the processors in an engineering college and it all sums up the state of new graduates recruitment. From my view, it shows that the industry is involved in batch processing and it appears to me that either they do not have confidence on technical skills of students or they do not bother to know whether the students possess any technical skills (may be they are confident that they can train them up).

Even if they can train them up, i don't think a simple and general discussion on life and that too only for few minutes wouldn't reveal anything about the candidate. I have met also students from different background and i can see remarkable problem solving skills and great commitment from first generation learners. Usually the first generation learners, know the importance of education and so are their parents. The first generation students know the importance of opportunity. But then, due to their social/economic background, they usually fall to the bottom in terms of communication skill. We had a discussion with Director, Loyola-ICAM College of Engineering and Technology. During the discussion he shared a real story of son of a painter. It was heart touching.

Considering the amount of first generation learners, social/economic parity, i feel that it is high that the corporates of India (particularly the IT) see an opportunity and fine tune their recruitment process. It is always the hard skills/technical skills that will bring you the edge. Communication is always overrated. We know how Japanese and Chinese do their work. And we do have BPOs in Tier-2 and Tier-3 cities and towns.

At OpenGyan, we work towards filling the gaps by interacting with the students as early as when they are in second year. And we are keen to impart experiential knowledge. Together, let us grow by knowledge sharing.

Have a nice sunday

03 September 2013

OpenGyan - An Update

It was new beginning. Last week, we at OpenGyan launched a new workshop on "Attending Interviews and Resume Writing". I would say it is highly successful and many thanks to Director, Staff and Students of LICET who made it successful.

We conducted close to a dozen of mock interviews and we feel that it helped the students to greater extent to conquer the fear. There was an introspection session soon after each mock interview so that the students learn their mistakes. During the second half of the day we focussed on resume writing. Both morning and evening sessions were received very well. To add to our happiness, we have been requested to conduct two more workshops (this weekend and next weekend). :-)

We are glad that the students find our workshop very useful.

Here are few moments captured through camera and more in Facebook.

We are looking forward for more sessions :-)

31 August 2013

The Learning Path - Linux@OpenGyan

If you are an engineering student still in college, you may want to spend time in reading through this post. This is little longer and it may change the way you program (of course with your efforts). If you are a professional, i still feel that you have a bit to learn here :-)

I wanted to write this post for past few months and i had to think about designing a series of workshops that would take a newbie of Linux to expert in Linux. What are various areas in Linux that would make you a good programmer in Linux. While you have many programming languages like Python, Perl, Java, C, C++ and many languages, is there a way in which i can pick one or two programming languages and yet become good in Linux.

If you are a computer science student, you would learn "C" programming language. When you complete your second year of engineering, you would have completed probably a theory and a lab on C programming and you will be fluent enough to solve simple to medium complexity problems in C. If you know "C" and wish to become an expert, here are something that we offer from OpenGyan (yep, we are in Facebook too). Once you follow this path, though it is little difficult, you should be good enough to call yourself as budding system programmer.

I have made these in few easy steps so that you can take these as a capsule and set a milestone. All these steps should take you one to two years of consistent efforts and a strong will power. What you sow is what you reap.

Step #1 - Linux Basics and Commands
This workshop will be a curtain raiser for you and it should give you various inputs on why you should be spending time in Linux. You should be able to understand what is Linux, its architecture, why it is successful, Open Source, Linux's history and basic commands to play around with Linux. After this workshop you need to spend some time in playing with Linux like watching movies, playing music, browsing Internet in Linux, chatting with your friends and do whatever you want. Just be a user of Linux.

Step #2: - Linux Shell Scripting
After spending sometime in Linux, this is the baby step of being a little programmer on Linux. If are typing series of commands and by now you should feel it is boring or tedious and you want to automate it. Shell Scripting will help you to automate tasks and don't think it just automates. Shell scripting can be powerful tool when you want to do stuff when you have slept. This is sure first step towards becoming Linux programmer and don't miss to practice. Do couple of mini-projects before moving on to next phase.

Step #3 - Linux Programming (Part 1)
Linux are based on processes and files. In this first and most important part, you will go through series of topics on Linux API. These APIs are the ways to get things done. You will learn how to create a process, how to run a program, manage the process, learn about memory allocation, learn basic operations of File. If Shell scripting was exciting, this one will be more exciting. Again, spend time here and practice with couple of mini-projects. Do all your data strcutures exercise here to learn how to handle memory. This is the time you should write code that causes segmentation fault and when you go to next stage your code should hardly core

Step #5 - Linux Programming (Part 2)
Human beings talk to each other and so are processes. Do not think you will write standalone processes. Think about the scenarios where the processes wants to interact. In this stage, you should learn various ways of inter process communication and understand how processes in a machine interact with each other. Once you acquire the concepts/skills at this level, your journey from here will be very easy and little faster.

Step #4 - Multi-Thread Programming in Linux
Your mobile is quad core now. And everywhere it is multicore. Multi-threaded programming lets you to write high performance and concurrent systems. You will learn what is thread, how to create and make them to execute a task, synchronize them so that they don't block each other's work. If you are good programmer, multi-threading should make you a great programmer (of course with a lot of practice)

Step #6 - TCP/IP Fundamentals
Today, Internet reached everyone's home. Facebook, Yahoo, Google and many other websites/webservices are reality only because of TCP/IP stack. If you want to program network applications or design network elements, it is very much essential for you to understand how TCP/IP works. Whether you want to write a simple chat server/client or complex web application like Facebook, this is where you should start.

Step #7 - Network Programming in Linux 
This stage is very interesting as you will learn how to write your own network applications using APIs provided by Linux. It should take a while for you to master this. In this stage, you will understand what is socket and what are various different ways of communication. Once you are done with this, you will be regarded as full blown application developer on Linux and most likely you will be an expert in "C".

Step #8 - Linux Kernel Module Programming
If you are system programmer or want to become one, after acquiring above skills, i bet the next thing you would like is writing your own LKM. It gives you an opportunity to play with famous kernel - Linux. You will write modules which is part of Kernel. You will compile Linux kernel and be a true hacker. This will surely quench your thirst of becoming a great programmer and highly sought after.

How much time do you think it will take to accomplish the above training path.
If you are second year or have two more years to complete your degree, you have ample time. With your consistent efforts, it should be really a doable task.

Happy Learning

Watch out the space on how can you build same expertise in Java world.

24 August 2013

OpenGyan @ SRM University

OpenGyan had its first workshop in Chennai at SRM University. In a sense it is breakthrough as we are conducting our first workshop in Chennai (officially under the banner of OpenGyan). Today (24-Aug-2013), we met bunch of students in SRM University in their campus and conducted workshop on "Data Structures (and applications)".

Again, it was wonderful experience meeting the students' community and personally i have learnt a lot during the session. Many of the students were posting interesting questions and i had to recollect the basics i learnt to give them an answer. Apart from the questions, i really liked the way in which the students adapted to the situation. They organized themselves so well that we could overcome unavailability of Linux systems. If we had few Linux systems, the workshop would have been more successful. During the course of the workshop, we discussed (and learnt) many interesting data structures, wrote code, fine tune the code that was written, discussed about career, discussed about doing pet projects. Wow, we thoroughly enjoyed.

Kudos to the students, professors and everyone for organizing wonderful workshop.

Without a doubt, it was one of the most productive days in life :-)

Couple of snaps from workshop

18 August 2013

OpenGyan - Update

We will be conducting around four workshops in Aug/Sept and we are discussing with few colleges in Bangalore and Coimbatore for couple more workshops in Oct 2013. We happen to have discussion with HOD of an engineering college in Bangalore and they were interested to have series of workshops in their institute (based on our workshop flowchart). Glad to see interest in OpenGyan. With your support, we believe that OpenGyan and its cause will grow in coming years. 

We are also planning to add more initiatives and we are thinking about few initiatives that can be delivered over web (like forums or emails) and it also helps students across colleges to collaborate using Internet. The rolling out of new initiatives will take little more time as we need to work on planning and how to cater the needs of the students. Watch out this space for more updates.

Many thanks to supporters and "word-of-mouth" ambassadors of OpenGyan. All those likes/shares, tweets and casual chit chats really helps OpenGyan in a very long way.

Your help helps us in a long way: Support us in Facebook and Twitter 

For first time viewers: OpenGyan is a non-profit initiative that helps the students community to improve their exposure in information technology, computers, programming and problem solving. As a side effect, you get to know about Open Source Software. More information - http://www.opengyan.com

09 August 2013

Participation Vs participation

There are at least two meanings for Participation and it is most often misunderstood (again, most of the times at work)

Participation - Participate in decision making, take part in making something better and be part of some effort, take part in the learning process and try to make some meaningful contribution.

Participation - Claim ownership and be part of the results.

When we see more "Participation " than "Participation", then it is definite time to be vocal/bold. If you do not sow a seed or if you don't water/protect the plant, don't expect a fruit.

08 August 2013

Support Growing for OpenGyan

A couple of days back there was post here on OpenGyan's first media visibility.

I got calls from 10+ folks from my neighborhood appreciating/wishing that we are doing a good job and we had couple of parents visiting me to help/counsell their kids. It is very heartening to see that people around us wish and want us to be successful. A couple of folks wanted to join us and wanted to contribute towards OpenGyan and its mission. Glad to see that support for OpenGyan is growing.

We are very thankful to all kind hearted human beings who are giving us morale strength and whole-hearted support. It is that strength that makes us to continue the journey and reinforces us that we are doing something worthwhile and meaningful. On the other side, we
feel little nervous and fearful and i am pretty sure that we will overcome that fear. The fear is equipping ourselves to step up our contribution/work. We have plenty of plans for that and soon you should witness couple of initiatives.

Expect an announcement soon.

Thank you for the wonderful support, wishes and suggestions.

Help Needed

Help us to help your alma-mater: If you still have contact in your alma-mater, request you to discuss with the students/professors. We will be glad to talk to them and try to contribute there as well. If you need a brochure, we have one. Please reach out to us at "ping@opengyan.com". 

06 August 2013

Recognition for OpenGyan and our work to students community

OpenGyan received its first recognition in media. Nanganallur Talk is a neighborhood weekly in Chennai circulated to 42000+ homes. OpenGyan and our work to the students' community was covered in last week's stories. Our sincere thanks to Nanganallur Talk team for writing about us. Special thanks for Mr. Sreedhar Srinivasan who asked us lots of interesting questions during the interview. Here is the our first media article about us.

Nanganallur Talk (click on the image to enlarge)

I wish and hope that we live up to the words.

Many Thanks to everyone (students, professors, institutions and supporters) who supported us and taking us here

You can join our facebook page and support us - http://www.facebook.com/opengyan (a word of mouth really helps us and more importantly it helps the students out there)

04 August 2013



Trust has become a commodity and found a place in vocabulary (more in workplace and little lesser in personal lives). Particularly the workplace has become more talkative about this "trust" and sometimes they appear as mere ploy. Many times and many of us speak about trust and say we are trustworthy (or try to prove by words to someone that we are trustworthy). 

Trust isn't a commodity. Trust is understood best when we don't talk about it or even think about it. Trust comes as a natural output of a fruitful, selfless and longer relationship.

Look at the picture, the kid never said that he trusted his father and father never asked his kid to trust him. The trust like this is an outcome of a fruitful relationship. If you don't have one, don't expect the trust.

16 June 2013

Appraisal - The horror Movie

Some thoughts on appraisal and events around it (most of these can be applied every day) and how to cope up with the depression/disappointment.
Goals & Results
If you don't have a goal, don't ever think of a meaningful discussion. A goal with a consistent result is very important before any discussion. Many people think that the goals can derived from their job profile but then the real ambiguity comes in when the discussion happens over the results. Avoid using % when you talk about your consistency. Bring out specific instances that made you happy and write about instances where you thought you are stretching your limits of thinking and ability. If you have taken any specific initiative, even if it is small but not usually expected at your level, talk about it and list down your learning. That is sure way of opening the discussion.

When you are writing your results, be sure to do self-introspection. What do you think about your result. Did you achieve what you wanted to achieve or do you think that there can be improvements in the way your are working. It conveys to people who review your performance to think that you are doing your bit and spending time with you will be more meaningful.

See the future
Seeing the future is not about when you will be promoted :-). Often we don't indulge to visualize the future. Sometimes, seeing through future gives us stress as the future may seem so uncertain. The uncertainty is more as you grow. As you grow, your growth really depends on how you embrace the events and the events are products of many people/events. If you handle it gracefully, probably the people watching it will be able to give your an honest feedback. If you try to handle it gracefully and if you cannot handle due to lack of knowledge or skill or exposure, the folks may mentor you. But if you don't want to handle gracefully or if you don't like to absorb the uncertainty (if you prefer to be in comfort zone), you don't deserve to grow. Seeing through the future and ready to absorb the uncertainty is an important trait. Talk about how you see your future and paint a picture of where you are going to see yourself by next year. Tell the appraiser what you will do when you are about to face failure and how you will mitigate it.

Grow - vertically and horizontally
We often have a fragmented view on growth. We always see growth to be vertical. But the growth can also be horizontal. Trying to do something which you have not done but little closer to your current job is the way to start. When you contribute horizontally, people appreciate it and often translate into a vertical growth. Ponder about your horizontal growth and ask questions on where you can contribute. The questions like these cannot be left unanswered by an appraiser.

Not understanding the environment
If you bring a value, first observe whether the folks are experiencing it. If they don't experience, the point is loud and clear. Your value is a hype or at very least you are trying to overemphasis your value. Since the workplace has so many folks, it is very important that you benchmark yourself with overall organization. Failure to do so leads to what i call suicide - underestimation. Underestimating the expectations and underestimating your peers is a very sick way of trying to increase your value. Another important red flag that i call as "slow death" is thinking that whatever we are doing is just fine to be in top league.  This is slow death because it leads slow degradation and mediocrity (becomes a habit). Reaching to the top or falling to the bottom cannot have overnight. When you are on the way to mediocrity, the first thing that you will do is failing to sense what is going on.

Lack of initiation and not interesting to know the real feedback
If you lack initiation on knowing about you, this by itself is sufficient for mediocrity. The initiation and natural interest on how you have been seen is an important thing. This often interrelated to above points. If you have goals and performed well, you will have something interesting to talk about. So, be sure to take initiative in understanding how others see you.

Fear of underrating leading to overrating of self
Don't fear that a honest self appraisal and self rating will lead to lower rating. A thorough review will give you the strategies about your near future and the final rating depends not only on how you perform but also on how others performed. An open mind will always willing to see who did well and possibly learn from her. Don't ever overrate yourself.

Talk about what organization needs
At some point of time in your discussion, be sure to talk about what organization needs. How do you see the organization and how it can be improved. Question the status quo. While nothing can be changed in single discussion, people will understand your achievements and your urge to improve the organization. People will also understand the obstacles and how you overcame that. It could be very well be a starting point of a change.

Your improvement is organization's value addition
And finally, it is very true to that your improvement is organization value addition. If you continue to be where you are, i believe it is point of suicide. Even a little baby step helps. So, don't think that appraisal is mere ritual. If it is done properly, it will fuel your growth and can completely redefine you.

Fielding the dejection/disappointment
This is very important characteristic. If you are not happy with the end results of appraisal, you may be depressed. At this stage, having a conversation with the guy who appraised you makes sense or you can reach out to human resources. Until your depression goes away, the best thing you can do is avoiding degradation of your attitude/work. If you allow degradation (particularly the attitude), it may even sound that whatever verdict that has been given is correct. The best thing is trying to make the next appraisal eventful (may be it will be hard to digest but then it has to be absorbed. Let us be practical). If you experiencing this depression consistently over the years, the time has come to become graceful (think of finding solace elsewhere, the world is too big and certainly you have a space in it).

A lot of these things can be acted upon through the year, so why you wait till appraisal and most of it in the hands of the appraiser :-)

For folks whose appraisal are due, best of luck :-)

22 May 2013

Touting won't buy anything

When you go to school and learn alphabets and your papa proudly says my kiddo knows alphabets. You proudly smile that you know alphabets. When someone asks you to say it, you proudly say "a, b, c, d......". It was exciting. It is never a touting. It was celebration. It was a paradigm shift. You are just trying to learning something new. In fact you just start to learn something formally.

But when you are in 10th grade and again your papa says my kiddo knows alphabets. And you proudly smile and your papa is even prouder. Now, your dad asks you to say alphabets. Now, you can understand that pain that others undergo. It is touting.

Well, a lot of things depends on what you have to say and to whom are you saying that to.

Touting by any means won't enable you rather pulls you down.

BTW, this is a just a hang over post after experiencing something which i can't digest. But i forgot it after watching this comedy clip (from a Tamil movie) :-) (when i see this comedy i remember the quality of some of the whitepapers, honestly this is much better than those whitepapers)

05 May 2013

Is communication a key factor?

In one of our workshops @ OpenGyan,
A student asked, "How important is communication?"
I said, "very important".
He then asked, "how much should i improve?"
I said, "i don't know the answer but you and i should keep improving our skills".
He smiled and then asked, "will i get a job for my communication skills".
I said, "well, if you are looking for a technical work, communication skills alone won't fetch you a job. It is your programming skills that would fetch you a job but for that you have to express yourself clearly".
He asked me again, "i have difficulty in communication". 
I said, "as long as your express yourself with a bit of difficult toastmaster. I don't think much about my English when speaking but i try my bit by reading. That's my homework."
and listen genuinely it should be fine. don't think much about whether you are correct grammatically or you speak like a
I asked him, "how are you feeling now? do you think, talking to me is a difficult task?" 
He said, "No" 
I said, "that's is enough to start with. Don't think too much about work. Communication is more like conversation and holding interest of other person. As long as you do that, it's enough but keep improving"
[He then sat in his chair with big relief.]

Take away for him: Good technical skills and ability to converse on the topic of your interest is sufficient at work or interview. And that's my experience too [it fetched me a job 12 years back and i have been recruiting folks with average communication skills but with good technical skills]. 

02 May 2013

Play or Watch - Be Explicit

Never be on the wall. Never be undecided for long time. You can be a player or audience. But you cannot afford to spoil someone's dream when you are undecided or when you decided to stand on the wall (to join at anytime). It is so much energy sucking.

Being on the wall gives us feeling that we can chip in at anytime but then the folks who are already playing the game would feel that you are an alien.

If you want to be included, you will have to absorb risk. You cannot avoid risk and expect a reward at the same time. Be wise.

Choose the game - play it or watch it.

[another personal rant]

29 April 2013

Your Call is Important to us, "please hold"

Assume this. You are dialing to your bank's telephonic banking wanting to change some trivial information. Once you dial and after you successfully chosen the language/service pressing sequence of numbers between 1 and 9 several times, you reach a queue. For reaching this queue you should have had good karma and spent 5-10 minutes of your time.

After reaching this queue, you will actually wait there for a while and the voice keeps assuring you that you are very very important person for them [like aam aadhmi for politicians, the account holders is for banks. May it be aam aadhmi, account holders or employees lose their significance in isolation and termed differently as "individual violating the code of conduct or rebellion"]. It will either say, "your call is important to us, please hold, our customer service personnel will attend you shortly" or you will hear a nice mandolin or flute. After about 10 minutes there and if you have luck (and patience), you will be listened and the work will done in 30 seconds. In order to get the job done, i need to spend 20 minutes of my time and bear the cost for calling them for 20 minutes. The following images are both serious and comedy depending upon whether this is happening to you or to your friend (and if this happens to your neighbor, if you will feel happier :-))

But everyday, we are waiting in a queue. We realize the fact very lately that the queue that we stood was to reach another queue. Even if we know that there are several queues we just feel we can reach comfortably. But it becomes quite an adventure when all of a sudden a new queue was dropped from heaven. This is a new queue. You have to stand in this new queue before reaching another queue (my inner voice will say, yeah, i know that). If you get a adrenaline surge because of movement from one queue to another, i feel that it is sure way of doing disservice to myself.

Many things in life can be equated to such useless queue - money, buying couple of flats, couple plots outside the city, getting married at right age, getting promotions at work after series of suck ups, getting nice increment. But we never intend to find a queue for happiness and we never find time to find such a queue which is worth standing. I can't find a better picture than this - burying our own head in a sand.

This kind of situation leads to slow death. I mean slow death because such queues suck our blood and yet we don't recognize that they in fact suck the blood to lead to slow death. They conceal themselves  and that includes "working for someone :-)"

BTW, this is not a advice for you to be like this or like that. It is just my inner voice. What i feel about myself :-) Sailing in the same boat?

28 April 2013

OpenGyan – Workshops Flow Chart

The students attending our workshops always wanted to have follow-up workshops and some of them even told us that they need one or two easy workshops at beginner level. So, we thought that it is better to have a flow of workshops targeting second year students. The idea is to get involved at early stage so that both the students and OpenGyan has ample time to cover most of the topics without compromising on the technical depth. Having in this in mind, we have come up with several streams - Linux Programming, Data Structures and Algorithms/Algorithm Design, Testing, Software Engineering, Web Programming and Soft Skills. All the streams will have three levels – Praarambh (Beginner), Madhyama (Intermediate) and Dheekshana (expert).

For example, if you get involved with OpenGyan in your second year at engineering (for a Bachelors in Engineering student) or first year in Post Graduate course (MCA, MTech, MSc) there is a high probability that you become expert in a couple of streams and you will get to know about other streams as well at a beginner level. Ideally, we feel that a student can reach to a level of expert in couple of streams (fluent with hands-on) and expert in soft skills in two to three years’ time frame.

We are also planning to have some coursework (mini-projects or online intern kind of thing) once in a semester however mini-projects/intern will be limited to few students. We are in planning phase and more updates to come within a month from now.

You may want to check out our flow chart. The online version can be found here.

As always, we would like to get your feedback and request you to spread a word.

26 April 2013

Staying Fit Away From Home

This is a guest post by Michael Manning. Michael Manning is a fitness and healthy living aficionado. You can find his writing at his new blog located at http://mikemanningmusings.blogspot.com

Summer is on its way, and for many people, that means it's time for vacation. Unfortunately, it also means that you could ruin the physique you've worked so hard to attain. It's easy to slack off on your diet and fitness routines while you're traveling. There are plenty of fun things to do and ready access to any junk food your heart desires. Furthermore, it's tempting to ditch your healthy habits using the vacation as an excuse. To avoid re-packing on the pounds, it's important to maintain your fitness routine away from home.

Plan for Fitness
When you're arranging your accommodations, try to choose a hotel that has a fitness center. On a recent trip to San Francisco I was able to book great accommodations because I did some research beforehand. I checked a travel review site where I could see all of the hotels in San Francisco and check what amenities they offered and see great reviews from people who previously stayed there. When you get up in the mornings, head straight to the fitness room and get your workout out of the way. Studies have shown that this gives you more energy and makes you more likely to make healthy food choices throughout the day. If the fitness room should get full, however, it's important to have backup. Just in case, it's recommended that you pack some minor fitness gear such as a pulse monitor and some resistance bands. With these things, you can easily work out in the comfort and privacy of your hotel room.

Choose Wisely from the Menu
Many hotels serve a continental breakfast. Depending on how you make your choices, this can be either a benefit or a burden. Without a doubt, there will be junk foods like pastries, kids' cereals, french toast and waffles. However, there will also be healthy foods that will help you maintain your fitness goals. Aim for the healthy foods so you can keep up with your diet, which will also help your energy levels for the day. For snacks and other meals, a trip to the local grocery can be helpful. Stock up on ready-made salads, nuts or fresh and dried fruit. It is important to indulge every once in a while when you are on vacation, but keeping an overall healthy diet will help you with your sleep, energy levels, and stress which will in turn make your trip much more pleasant.

Stay Hydrated
It's easy to become dehydrated during your travels. For starters, the air inside of a plane's cabin is very dry, causing you to lose water rapidly. While flying, make an effort to drink a glass of water at least every hour. It's also best to avoid dehydrating beverages like alcohol, sugar and caffeine. Once you arrive at your destination, if you spend a lot of time outside in the sun, always bring some water with you. Your metabolism and energy levels suffer when you're under-hydrated, leaving you vulnerable to weight gain and fatigue.

19 April 2013

OpenGyan - Do you like it?

May be you are heading for a weekend drive, catching up your emails or seeing this page accidentally in your timeline. Got two minutes to spare?

If so, here we go..

Having spent close to two years in OpenGyan (actually it is 5 man years, 2 guys 2 putting two years and one guy about an years' effort), we have reached a stage of self-assessment. This self-assessment is not to terminate OpenGyan but to steer it towards something meaningful. OpenGyan should not be redundant and doing things that are already done at colleges. We want to work along with colleges and try to see whether we can create a spark.

So, first thing that we did was to review all the feedback from students. Well, it sounded to us that more than 90% of the students wanted these kind of workshops again and again. The feedback from the professors are also good. All of them convey to us that they are extremely happy with the workshops.

Next, how about getting feedback from common people? If you can help us in answering these three questions, it would be great. You can answer either in the comments section here or you can email be at grabyourfreedom@gmail.com if you prefer to be confidential. The questions are
  1. Do you really like the idea of OpenGyan - going to schools to conduct workshops(kindly check our website and Facebook page for a while, would be glad if you can like us in Facebook.)
  2. If you follow OpenGyan, what is the most you like and what is the aspect that we should improve upon?
  3. Would you like to share the works of OpenGyan to people you know who can be benefited (professors and colleges students)?
Please do share your feedback.

BTW, i really like it merely because of connecting to the students. The next thing that we should focus is to go place where the students do not get exposure. Money should not be a gating factor whether or not a person get access and the interest should only be the gating factor. Let us see how it goes.

If you are looking to volunteer for some of the workshops (as trainer), please do let us know. We shall involve you when opportunities arrives.

Awesomeness - Impressive "Impress.JS"

Again, another theme. Why don't i share something on a regular basis which is awesome [Since everyone that i m an awesome guy, i promise you that i won't write about myself]. BTW, all these are something which i come across, read in web or someone met in my life.

This time, i happen to hear and try an awesome.

Impress.JS is cute Javascript that helps in creating wonderful presentations. It helps you to express wonderful ideas and by the way you must know HTML, JavaScript and CSS (or very least try to learn all these). One of the aspects of Impress.JS is that it paves way for keeping the presentation simple and so it will be really an aid (and you will have to be main thing). Without your articulation, may be your presentation deck alone will convey 10%. "Impress.JS" and "Presentation Zen" will certainly take long way. BTW, "Presentation Zen" is another awesome that will be writing shortly.

After initial play, i feel that "Impress.JS" is very promising and really cool.

Have a look at here for a short demo and here to download it.

Have a good day.

18 April 2013

Programmer who dreams in code - Inspiring

I just want to share this video to you. No words and the video speaks by itself :-) but pretty

16 April 2013

Ideas Behind Life Lessons

Whether or not you like this post, you will like the image
I m posting a series of articles with title "Life Lessons @ OpenGyan". The idea behind it is to document my journey towards something which will be a game changer in my life. OpenGyan, as you may know now, is an non-profit initiative run by couple of folks towards students' community in this part of the world who do not have enough exposure towards software engineering and they get to know only when they join a company (after being branded as non-employable).

The document helps me for two reasons.

It is going to convey to me that it is not going to be easier [though it may be simple, i doesn't mean that it is easy to do]. It helps me in a great deal to keep up the focus on the vision and values. It makes me to think why i m part of this and how much i can add to its functioning.

Second, all these experiences should give me wisdom (a big question mark) and enough strength to absorb anxiety. [I already feel that i m reasonably successful in handling the anxiety]. I see these posts as a way for self improvement and self leadership (and most importantly build some good/pleasant qualities, if that is possible :-))

15 April 2013

Life Lessons @ OpenGyan

I haven't got a chance to write about my learning at OpenGyan for a while. It is very easy to write something [for me it is even easier as i m currently reading some books and i can vomit that i learnt in my own horrible language] but i thought that it has to be a honest review/reflection. These posts should not appear as a mere "accomplishments" but rather i always felt that it has to fuel me to overcome the obstacles. In that aspect, i wanted to think and write about one of the challenges we have in OpenGyan - Word of Mouth and it is taking a while for me to think through.

As far as i understand, we stand bad in terms of Word of Mouth [read it carefully, we dont have bad mouth :-)]. Yep, we miss the masala and marketing and I should say we miss it terribly. It is good as it paves way to learn something, it paves way to be successful at something new. It is always exciting when you think it is only matter of time and keep changing the strategy and be patient until fruition. 

Our story goes like this. We were writing emails to people at colleges and there was only a little traction. Then we wanted to start a Facebook page as we thought the social media is so powerful and the traction was little more. While we were clear on what we wanted to do, we weren't quite clear on how it should be done. Blame (which is very easy) the lack of experience in marketing, sometimes we thought the things are not working out. For a while, we even thought the content was not good but time and again the participants prove that in fact the content and delivery as excellent (on an average we score close 80 on a 100 point scale). But again, we didn't cash on this feature - good feedback. We never requested participants to share it with their friends. Was it a bad decision? We thought that the participants would actually share OpenGyan's workshop with their friends but it seems like they didn't. Was it out bad reasoning and decision? May be yes. We should  change this in future.

Nevertheless, being close to heart, i feel that we have not learned the trick, holy grail or the magic it. There are few initiatives in pipeline and i feel all those will take us to next level in realizing our vision - "providing cost free workshops for students' community". The failure in marketing making us to do many things and i would be very glad to share with you once some of those are put in to action. Like you, i sincerely hope we turnaround this and continue to provide/host workshops with impact.

For all those supporters out there, a very big thank you. I shall wrap up saying, "we are here because of your support and we will live up to your expectations". Thank you again for supporting OpenGyan.

07 April 2013

On the way to "Asking Right Questions"

As a follow up to my previous post, i would like share my progress on my effort to ask right questions. So far i have read around five chapters. I already got the feeling that i should read the book again [this is the book that i m talking about. seems like 10th edition is out but i m reading 9th edition that i bought a couple years back].

First two chapters are general that talks about the benefits of asking questions and critical thinking as a social activity. I think, these two chapters are placed well which give us motivation to continue reading. I am a soft of guy who would like to work with book using exercises. First 20 pages of the book are theory and i m glad that it is small.

The real fun begins from chapter 3.

Chapter 3 talks about finding the issue and the conclusion in a speech or material. For many of us who are grown up and literate, i feel that finding the issue and conclusion is simple but yet after reading this chapter i felt i have learnt more. I got to know what are the aspects i should do while reading a material.

Chapter 4 talks about the reasons. By reading a material we wear the hat of the author and we tend to bury ourselves in his shoes or go against it (we take positions based on whether or not we buy the author's point or it could be due to our very own conditioning). We hardly find the reasons for the conclusion. This chapter gives us the process of finding "reasons". Only when we find reasons, we learn from the material. The reasons are critical for continuous learning.

Chapter 5 has some excellent material. It talks about dissecting the material given. It shows us how to find ambiguity. By ambiguity i mean anything that is hard to be believed without giving enough data points or research.

I have found examples exercises in all the chapters that hand holds us [which do provide hands-on on the topics]

More learning and more excitement. Will keep you posted on "asking right questions"


31 March 2013

OpenGyan's Workshop on Networking

This post has very few words and a picture. We @ OpenGyan happen to use the silent period (or no activities at colleges) to our advantage of getting a good content on our next workshop on "FUNdamentals of Networking". I m sure that this workshop will help you to understand networking little more with lots of activities and fun. Here is the mind map of our workshop.

Share this with your friends who are in colleges. If you have any questions, add a comment here or email us at ping@opengyan.com (and expect a response back :-))

17 March 2013

Back on Track - Reading Books

It is a while (may be close 6 months) since i touched a book [not literally though, i touched them when we shifted to new home as i had to physically touch them for arranging]. I particularly liked this activity. It gave me a guilty feeling. It appeared to me as if the books were saying, "why are you neglecting me? Had i been bought somebody else, would have felt the human touch". So, i thought, i should read them one by one. So, all the books in my cupboard are going to be happy :-)

After careful thinking, i thought i should read "Asking The Right Questions, A Guide to Critical Thinking". I read couple of chapters of "The Elegant Universe" by Brian Greene (and i was unabated by my lack of understanding on superstring theory) before jumping into "Asking Right Questions". I thought the universe can wait till i correct my thinking flaws :-)

The book "Asking The Right Questions" promises to improve critical thinking for those of you who think critically and to make people like me to think critically (who are not thinking critically or who do not know how to think or forgot it due getting married). So, in next few weeks, i m going to be a superman with my critical thinking :-)

On a serious note, i am glad that i bought the book. After reading couple of chapters, i felt that this book is written exclusively for me (to fix flaws in my thinking). Once i read it completely and put some of the concepts in practice, i shall share my experience with you. You can also become superman.

25 January 2013

Great Book on Compilers

Recently, i have been trying to keep myself focused on learning the basics. The interesting thing about this i keep finding something very interesting. The digging things is really very interesting. I failed understand this when i was doing my under graduate degree nevertheless i learned the lesson and from here it is going to be another personal undergrad course in computer science :-) and most of the credits should go to the students who attend our workshops @ OpenGyan.

While i was reading a textbook on C, i found another interesting book and just thought of sharing here. I just skimmed through the table of contents and it is massive 1000+ pages book but it gives an excellent understanding on compilers.

Next to Discrete Mathematics, this book is likely to get into my shelf (and possibly to my brain little later). Please buzz me if you are interested for a group learning.

13 January 2013

OpenGyan Workshop in PEC

The last two Saturdays have been nothing less than awesome. It was most satisfying moment in my life as i happen to meet few students of Pondicherry Engineering College, Department of ECE, @ their college campus for two day workshop on Linux Programming from OpenGyan.

First, after a long time, i happen to meet folks who speak in black and white. It is much easier for a teacher or trainer if the students convey whether or not they have understood (especially when they didn't understand). When the understanding is not clear, the teacher should think more and come up with better way of presenting. A teacher can think better only when there are intelligent questions or when an articulation was not understood. For sure, this workshop has sowed a seed of self improvement in me and i should say that this will make me to think better.

Second is the puntuality. We never had a situation where we started the session because of delay due to students. Everybody was there on time (1 or 2 minutes before).

Third and most important aspect is that almost everybody showed genuine interest to listen and "do" the exercises.

Overall, it one of the most fulfilling moment in my life and i hope this continues. Here are few clicks from the event.

And finally, the "moment"