Month: June 2013
Image Posted on Updated on
We are into 6th day of the training and last day our instructor Kushal Das taught us how to use dig (a distributed version control system).
The start of the session seemed a little alien to me as I was clueless about it. Though after the sessions I did some poking around the internet, found a decent pdf to read on the same, actually the Git-documentation. Also found a history why Dig was created in the first place, I will probably write one post on the same. I also have an interesting documentary on the evolution of Open Source. Open source is all over all head 😛 . Anyways coming back to the session.
There were two sessions on Git, I am going to share few of the commands taught in the first session (the second session was post dinner and I am yet to work on that )
In the first session we were introduced to some basic commands of Git.
to configure git, set your user name and e-mail address. This is important because every Git commit uses this information. The commands are:$ git config –global user.name “Anurag Kumar”
$ git config –global user.email “email@example.com”
The names and the email address are to be changed as per the user.
Now that our identity is set,we were next asked to configure the default text editor that will be used by Git. Git uses the default editor, which is generally Vi or Vim. I was using geddit as a default so needed to add vim (you need to have vim installed in your system). The commands are:
$ git config –global core.editor vim
now to check the settings, you can use the command:
$ git config –list
This will show you a list all the settings Git can find at that point.
Now, since we are starting on a fresh note, we will make an existing dir and then import in to git:
$ git init
This creates a new subdirectory named .git (inside a dir called repo01) that contains all of your necessary repository files.
Next were asked to create a empty file (naming that as progress.txt) inside the same directory and then commit in to git.
$ git log
will show the commit details that were made earlier. Next we were asked to add another line in the same file and see the changes and difference
$ git status
This will tell us that some changes were made to progress.txt but they are yet to be committed.
$ git diff
This will then show us the difference of the added text.Next comes the commit part:
$ git add progress.txt
$ git commit -m “Adds a new line to the file”
$ git log
A commit message will inform about the commit made. Next some more changes were made in the file and the commit was done again. Few interesting doubts were raised which came in handy understanding the whole process. Usually I try to observe what others are asking and most of my doubts are cleared .
If by chance one is stuck wondering in Git, help feature will point right direction to them for:
$ git help <verb>
$ man git-<verb>
$ git help commit
I am yet to explore more of git and next sessions will be interesting. The documentation might help anyone who needs to look out for information.
The title might not give a clear indication of the post ahead. I am not at all planning my life, I think no one can. Life can be so unpredictable that you got to change at number of situations. Anyways, this is just to give what I am intended to do for the rest of my summer holidays.
I am quite active on twitter, have few followers (although I wish that number was large ) and in the midst of all my tweets, I came across many interesting companies and people who are awesome entrepreneurs. I have also met few amazing friends here from across the country.
Instamojo will be the first company that I would like to talk about , I have been following this startup from its inception and I am highly intrigued by its founders. One of the reason why Instamojo happens to be my favorite startup in India is because it has been majorly scripted in Python. Well, that summons it up, isn’t it? No, theres more to the story than you think of. Harshad Sharma happens to be one of its founders. Let me first introduce you to Harshad Sharma.
Harshad Sharma is hard core techie and a Python lover, a dropout and works predominantly according to his wishes. You might get a quick sneak-peak to his life by the post I wrote about him. Also he is an rockstar photographer as well. OH, by the way I work for Yourstory (India’s biggest online platform for entrepreneurs) as a part timer. That post helped me to get a personal interaction with him, which was booster for me. You know that feeling when you eye someone as your idol and then one day you actually get to intereact them in personal. Think about it, you might get a air of my feeling. From then he has been helping me out (in learning python) at times when I am stuck.
Okay now justifying the title of the post: as I am still studying in college and really aspire to intern at Instamojo. Well, that sounds simple enough, then why did I wrote a whole blogpost on it, eh? Well, if you look at the requirements of Instamojo, you will probably get an idea that its quite large (atleast for me it is ). So, from that list I know bits of Python, 1% of Django and Crypotography and ……nothing of others (like databases and data structures, system administration). So I am eyeing that internship for now. Whenever I open that “about us ” page on Instamojo site, I get an adrenaline rush in my body. Thats it, I have so much to prepare for the next semester and also hope I don’t get a backlog in my semesters.
Better get back to work now. Between #dgplug training post is due later in the day.
I am concluding my post with this cool pic clicked by Harshad:
It has been a while since we had started our training sessions and this year the number of students (more than 70) is surprisingly more as compared to the previous years. If I talk about the distribution of the attendees, we have people from US, Caribbean and of coarse from different parts of India. Majority of them are from West Bengal, a place where Kushal started his journey of FOSS.
The training is basically about Open Source and its technologies. In the starting we were given proper instructions as to how “communication is done” in the open source world. This was vital considering the fact that I am looking to get involved in it for a considerably long interval. However there is a thing that I would want to confess, at the start I do get a little nervous regarding proper communication. For I do not wish the person in front to get frustrated with me.
Nevertheless I am pity confident that I will overcome this anxiety as well, like I have being doing for the rest of the things in my life.
Getting back to the training, 2nd day saw the introduction to some basic terminal commands, the online tutorial for this can found here. It is indeed a good tutorial for new comers, however some of the examples are pity annoying and do not sync with the command definition. But then, what are Google and Stackoverflow for?
Next we were introduced to the vim editor and some commands involved in it. We will probably be using vim in our python coding exercises later. So, this is important. There are many commands regarding vim and it might take me some before i get used to it. Also, coming from a windows background, I have been using the graphical interface more that my keyboard and I have to improve that too.
(I will write a post on the open source platforms and my views regarding it some day.)
More about the training in the next post.
I have not spend much of time at solving complex algo problems given at random sites, not random but the likes of codechef etc. I also admit that I am not good at them but then I had this thought the other day.
These web portals hosts many competitive titles every month and people from India show up in huge numbers, majority of this number are students. So, here goes my question: If India really has so much talent in coding and algo then why not these students go on and start a mouth watering startup in India.
Or they are just interested in earning that lucrative prize money and work in US later.
No, I mean seriously why? On the other hand I have seen many quality programmers who have not played with these but have a wonderful talent in creating stuffs. I am not criticizing these problems (which are often called as Hackathon ), they are probably good means to get a solid grasp at algorithms, databases, trees etc. But people get so much attracted to these that don’t realize they can create a world of their own?
At first when I layed my hands on them I couldn’t get through any single problem, that discouraged me. And started doubting my capabilities but then I looked around, asked few experience people and figured out this might not be a great issue and I may get things with time. or may I wouldn’t, who cares these problems cannot decide my future can they ?
By the way today is 3rd day of dgplug training, I will be posting something related to them soon on the blog.
signing off till then.
I had to write another blog post, found some interesting things on the web. (Later in the post)
Starting practising python commands in Fedora, it’s fun but will take few attempts to get used to it. Did I told you I started using Linux based operating systems. Say Good Bye to windows.
The drive in Fedora was installed has been partitioned and I cannot figure out which partition has fedora and which can be made for other uses. Apparently, Linux mint was earlier installed in it.
Also if you are looking to build from scratch then Kushal Das book might come in very handy for you.
This goes in as my first blog post, I was thinking of starting one from the last 1 month or so. But due some or other reasons I had to avoid it somehow.
But here I am.
I will be resuming my python practise. Till now I have gone through the basic aspects of this language like file handling, functions, strings, dictionaries, tuples, custom searching, sorting. I came across an interesting site which is quite good for practising basic python Codingbat.
I also came across a practise problem session known as Google Python Class by Nick Parlante. Apparently he is creator of Codingbat too, while I am writing this post, his voice resonates in my brain. He shared an intellectual joke during the session. Q- What do you call a pig with 3 i’s
A – piiig
Don’t worry if you dont catch the logic behind this. Once you go through the exercises I am sure you will find it amusing.
OKAY, then I am going to revise few lessons there. here is the link to those tutorials, both in vedio as well as text files.
Unill next time.