07 March 2012

When you ask for Feedback again

People often ask others to give them feedback on them - what they feel, what would make them effective, efficient, better. An usual, cyclic ritual.

When someone gives you a feedback,

  • at least have a courtesy to say "thank you" immediately (at least before a month).
  • when you ask the feedback the next time, make sure that you convey people what did you do with feedback that was already given. How did you act on it? If you thrashed them, just say so but politely. It is much better than not saying.
Without the feedback of feedback (a courtesy), the people do not actually need to be courteous again. They have options - option of giving feedback to people who value it.

06 March 2012

Do-It-Yourself (OpenGyan) - Write a (your own) shell

This is one of the exercises we give to students in our workshop on Linux programming. Many of the participants understand the concept behind the shell and use basic process management system calls (fork, exec, wait and exit) to write a miniature shell on their own. Given time (and effort), i think one can write their own shell. Here is the requirement for a brand new shell (feel free to assume/add more requirements). As an additional effort, try to find the features that are missing in existing shells and implement those in your new shell.
Write a mini-shell with a following features
  1. The shell should receive command from the user and execute it. If the user just gives the command, you have search the command in all of directories defined in the environment variable PATH. If you are not able to find the command, you have print "no luck, seems like your program is toasted". If the user specifies the path along with the program, it is enough if you just load and execute it.
  2. You should store the last command that is execute and its exit status.
  3. You should implement a facility to run the program in background.
  4. You should remember last “N” commands and print it upon user request.
  5. You should name your shell and it should appear as the prompt.
  6. When you type "quit", you must quit from your shell with a greeting.
Hope you find this interesting. Happy Shelling....

27 February 2012

Success And Failures

To be successful, you just need one success.

To be successful consistently, you need numerous failures and phenomenal failures.

The failures are bound to happen when you make those baby steps.

So, when you fail. Just get up and go ahead.


26 February 2012

Open Gyan, Linux Programming Workshop - Slides

As i updated sometime back, Badhri and I will be presenting our second workshop in 2012 on Open Gyan's Linux Programming. This workshop is part-1 covers only process, memory and file i/o. The second part would be interprocess communication. Since we felt that IPC is bit complicated (and lengthy), it would be better not to cover everything in single sitting. So we split that into two.

We have prepared presentation slides (this is not office, we are not using MS powerpoint, thanks to Google docs) and a companion exercises course hand-out. Would be great if you can have a look at them and give your feedback to make it better. There are few slides that are incomplete and those will be completed in couple of days.

You can send me an email (grabyourfreedom@gmail.com) and we will add your name to contributors/reviewers list.


Thanks everybody, for supporting Open Gyan. 

Here is our Facebook Page - http://www.facebook.com/opengyan

25 February 2012

Reason of why we are not excelling

Is there a reason for why we aren't excelling?

Why we don't do programming (let us say work) little better? Why aren't we little nicer to others? Why are we taking everyone for granted? Why do we think that we are correct (not always but 110% of times)?

We pity a lot - not on others but on ourselves. The bigger world doesn't expect us to be bigger, greater or nicer, in fact the world doesn't need us to be great. It never cares for individuals. It just extinguishes the matter that is not relevant. The world keeps changing its skin like a snake. If you don't excel in your thinking, you are gone, you become history.

We fail to exist because we fail to excel. We fail to excel simply because we are clever, just clever enough to find a reason to fool around like - i didn't have good primary education, i m a villager, my boss is not great, i don't have a corpus to spin off a start-up. All these can true. Even if these are true, it doesn't really affect one. It is the self-pity and finding reasons that affects us the most.

I hope, one day, i will come out of this self pity and start doing something meaningful to just prove to myself and simply enjoy my drive in life journey.

22 February 2012

Open Gyan - Are you a student @ college?

So many people have talked about the students not being industry ready and this has been a talk for a while. Sometime back, we wanted to take dip and try out something which could lead for a change.

Why?

In a country like India where there is so much of social divide right from basic sanitation to higher learning, we don't think it is reasonable to expect everyone to be same without giving them exposure and skills. The students who are living in cities have access to technology but the people in villages have less access to the technology (the same applies to rich and poor). The folks who have access to technology have opportunity to be well-informed. Unfortunately, there are lot of people still don't get the exposure.

What about others?

We thought about it couple of years back and started an initiative "Open Gyan". The primary goal of this initiative is to give exposure to students in the way of conducting workshops. We just wanted to give a try in this format - conducting workshops. 

Why did we choose workshops?

Most of the things in software may it be computer networks or Unix operating systems originated because the people who invented it needed it badly and later they made it available to the world. The wider community fine tuned it. They followed "do-it-yourself" philosophy. With this workshops, we believe that we will be able to give "hands-on" in programming and impart the importance of "do-it-yourself" attitude, both of the traits are much needed in IT/Software (makes sense even in broader sense).

We have done "do-it-yourself" kind of workshops in few colleges and it is gaining the students' interest. They love to do it and learn it more than theoretical.

In case, if you are interested to recommend to your friends (we will appreciate if you recommend after doing a background check whether we are really worth :-)), here are few pointers you should check the following.
Open Gyan - www.opengyan.com {bit outdated and will be updated shortly}
Open Gyan @ Facebook - https://www.facebook.com/opengyan
Open Gyan @ Twitter - http://www.twitter.com/opengyan
We don't want to mention that this workshop is free (nothing in this world can truly be free). We strongly believe that knowledge grows when it is shared and we are happy to take our paycheck in the form of knowledge gain. As of now (and we think for ever), these workshops will be offered free of cost to students (and we don't have an intention to expand Open Gyan beyond the students community).

If you have any questions, comments/feedback, please do write to us. We would be glad to answer you.

21 February 2012

Provoke to get a better feedback

You scratch my back and i, surely without fail, can scratch your back. It is professional kick back and it is mutually beneficial. It is dangerous than any scam because you officially institutionalize "back scratching". Everyone knows yet none flags. Kick backs are so sweet. It gives you a feel that the benefits of kick backs outweighs the sweat that you must shed to fix something {in most cases, our attitude}.

Very few and (really) only very few of us provoke people to give great/blunt feedback. Some of us, just love to hear complaints. Provoke people to give great feedback so that both the giver and receiver steps out of their respective comfort zone. The comfort zone of giving the same feedback and the comfort zone of getting the same yummy feedback.

Provoke and question the feedback until it is blunt.

20 February 2012

Community And Company

You can run a company for profitability. You can see products/services as something that are getting assembled and you sell those for a margin. There is nothing wrong in it (and equally there isn't anything great either). If you really want to exist, you just keep making profits.

Not good enough these days and not enough any day when you want to make meaning.

You run a company plus run communities.

Communities where people learn how they assemble products and deliver services. They do bold experiments and your company becomes nothing less than a laboratory. They stretch their brain muscle, elevate their thinking and ready to make BIG mistakes.

Open source is a great example. There are many open source products where no one claims ownership but make their contributions count. The success of open source product paves way for great success in future and failures become lessons.

Communities are great way when you want build something ground up. Communities lead to paradigm shift.

Communities inside the company should be the foundation for your company (not just profits).

18 February 2012

Ubuntu - Windows Installer

Have been using Ubuntu for quite sometime and was thinking of migrating to 11.10. Since i m coming from an older version of Ubuntu, i badly needed a good dock in 11.10 and i didn't go for Ubuntu 11.1 as platform for all my development @ home (still, i use crap windows at work).

I just wanted to try converting Ubuntu 11.10 as my dev station. Without much of hassle, i downloaded ISO image. While i was downloading, i happen to see Windows installer this time (with only selfish motive of converting my windows workstation) and wanted to give it a try.

I also downloaded "wubi.exe" and installed it in one of my windows machine. I didn't face any issue either installation or setting up Ubuntu 11.1. I downloaded few tools needed for my development like Gvim, Emacs, Eclipse and VLC Player (don't ask me why. i hear songs when doing development). Everything was effortless. (windows only users should make a note of this. try migrating to Ubuntu :-)).

How can i get a dock (which can hold all my application launchers)? I searched a bit and found out "Cairo-dock". I m quite impressed with the features that are offered by "Cairo". You can customize the applets, docks and various other themes. If you have Ubuntu, you should really try Cairo-dock.

After couple of hours, my Ubuntu looked like this.






17 February 2012

Second Workshop in 2012

Sometime back, we happen to start an initiative Open Gyan and conducted few guest lectures in 2009/2010/2011. We went to around 10 colleges around Chennai and met up with principals and Head of Departments.

This year seems to be going really well (social media is really working out). We were originally thinking of conducting workshops (focus on hands-on training than guest lectures/theoretical sessions.) on basics of computer science/programming and i m glad that we kick started that this year. Last month, we had a workshop in Dhanalakshmi Srinivasan Engineering College @ Perambalur. We happen to test drive our workshop (and my brand new Fiat Linea Emotion Pack) on Linux and Network Programming.

I m yet again glad to share with you that we would spending another day of workshop early next month (we have booked our tickets) in Coimbatore.

Everyday, we are spending at least 30 minutes in customizing our content/delivery and i ought to say that it is a tremendous opportunity to share knowledge and improve myself. If you have any comments, feedback based out of your personal experience in interacting with freshers at your workplace, please do let us know. We would love to listen to you in the interest of thousands of professionals out there in schools.

Again, thank you for all your support (tweeting, likings in Facebook and forwarding personal emails) and your support should take us a long way.

14 February 2012

Steep, Steep, Steep

There are two types of work.

The first type is to take up something that appears to be steep (learning curve) but isn't steep really when you sit back and reflect. We can take up this type of work just to impress others or ourselves (and it would pay off well). The work that you are accustomed with also falls in this category. People will fake that they are recognizing you when there isn't so much to recognize.

The second type of work is the real steep one. If you choose this work, you should be ready to fail because you are stretching your elastic limit and there is whole a lot of possibility of you being torn apart (and there is equal possibility of you stretching your limits consistently).

Choosing the type of work is really a choice, the choice you make everyday and your choice decides your experience.