Showing posts with label DIY. Show all posts
Showing posts with label DIY. Show all posts

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....

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.

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.






30 December 2011

Now, it is Brain Rules

For the next few weeks, i m going to read two books which i think will have great impact.

I have already wrote about the book Predictably Irrational here and here. (not in an any journal or magazine, these links are below the current post :-)) I feel that i should read the book again at slightly slower pace.

I just read a chapter in another book which i found equally fascinating and has great insights. The book "Brain Rules" by John Medina. The book talks about various principles on how to keep our brain fit. I think, the book will be useful for those of us who use it. So, first, i got to use my brain in next few weeks and all the principles and then come here to write another review.

If you want to hear the author, here is the website and videos.


If you have noted, both the books are written by researchers and you could see all their points are backed by solid research.

Hope that i start using my brain from next year and then rule it :-)