Technology

Wednesday, January 26, 2011

Learn about GIT

Hi friends,
Git:
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development.
Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Git is free software distributed under the terms of the GNU General Public License version 2.
To install 'Git' in your fedora, open your console and use the following command.
$ yum install git
Now in your machine, we must setup the "Global Setup", for this use the open following commands:
$ git config --global user.name "Your Name"

$ git config --global user.email name@exam.com
here,
"your name" = "yourname"
name@exam.com = yourmailid.
Now Create a new directory (This directory name is, which we have to give as "project name" in on-line repo creating)
$ mkdir example
Go to that directory using,
$ cd example

$ git init

In this directory, add your codes or your data, which you have to connect with github.
for example,
$ touch README
$ git add README
$ git commit -m 'first commit' 

(here in quote we must have give some comments)

Creating "github" account on-line:
Go to https://github.com/ and select the "pricing and signup"
Here they are giving some plans. Select one plan as your wish.
For example if you are selecting "create a free account"
create an account and login.
After login, select the "create a new  Repository".
here you have to give "project name" and some details. Then click the "create repository"
Now, here you can see the procedures, which now we  done.
Finally, you can see the commands like this,
$ git remote add origin git@github.com:thasuresh/example.git

$  git push origin master


now, lets see how will step you through the process of generating a keypair on linux and uploading it to GitHub. We use Ubuntu and bash in this guide, command may vary depending on your linux flavor and shell.
Generating an SSH key on linux is a fairly straightforward process.
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/abcd/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/abcd/.ssh/id_rsa.
Your public key has been saved in /home/abcd/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db
Now open your  .ssh/id_rsa.pub using,
$ gedit .ssh/id_rsa.pub
Then, go to your on-line github account and select the "Account Settings"
Here select the "SSH Public Keys", In key box add your content of "id_rsa.pub"
Now, you can pushup your projects into github account.
That's all. !!!   
Feel free to ask me, if you have any doubts.

Monday, January 24, 2011

Changing "Login background" in Linux Mint/Ubuntu

Hi friends,
There are many methods to change the "login Background image" in in Linux Mint/Ubuntu. Lets see the easiest method. :)
The simplest method is download the "ubuntu-tweak" and configure Login Settings.



Then access it through Applications  System Tools  Ubuntu Tweak


Applications-->System Tools-->Ubuntu Tweak
When Ubuntu tweak opens go to login settings and click unlock and enter your password when prompted.

Click the "Login Settings"
Click the button to change the login background:

That's All. Enjoy it !!!  :P

Sunday, January 23, 2011

IF YOU WANT TO BE AN ENTREPRENUER

1)Surround Yourself with passionate people
2)Have a clear vision
3)Remain focussed
4)Move quickly
5)Communicate openly
6)Be prepared to change management
7)Leverage networks

Friday, January 14, 2011

Diaspora (software)

Diaspora (stylized DIASPORA*) is a free personal web server[3] that implements a distributed social networking service. The project is currently under development by Dan Grippi, Maxwell Salzberg, Raphael Sofaer, and Ilya Zhitomirskiy, students at New York University's Courant Institute of Mathematical Sciences. The group received donations in excess of $200,000 via Kickstarter.

The developers aim for it to be a decentralized alternative to social network services like Facebook. In an interview with the New York Times Soafer said, "We don't need to hand our messages to a hub. What Facebook gives you as a user isn't all that hard to do. All the little games, the little walls, the little chat, aren't really rare things. The technology already exists".[4] However, Salzberg has said that Diaspora is not targeting Facebook and that "Facebook is not what we are going after".[5]

Diaspora works by letting users set up their own server (or "pod") to host content; pods can then interact to share status updates, photographs and other social data.[6] A developer preview was released on 15 September 2010 and a consumer alpha was released on November 23rd. The framework, which is being built on Ruby on Rails, will be free software and can be experimented by millions of developers. Data could be hosted with a traditional web host, a cloud based host, an ISP, or a friend. For the less technically inclined, they hope to provide a one-click hosting service like WordPress.com to make creating a seed as easy as possible.[7]

Friday, January 7, 2011

Drupal7 Release

Hey all

The Drupal 7 Release Party is a worldwide event to celebrate the imminent release of Drupal 7. Jan 7, 2011 is not the exact release date. The idea is to have a two day event - a celebration of drupal - technology and community.
Drupal 7 Release Party by Delhi Drupal Community
on Jan 8-9, 2011 - 10AM - 6PM
at Indian Institute of Technology, Delhi
This is a community event and is open for all. Anyone can participate. Drupal Love is a good to have for the meet. There are no participation fees.
Want to contribute to organising the event - check out the event planning wiki
Venue
The final venue is:
Room No. 501
Bharati Building
IIT Delhi
Contact
For details contact either: @kinshuksunil@1sud@abhisheknagar on Twitter
Use hashtag #d7rp and spread the word.
Contribute to organising the event at the event planning wiki.
You can also reach out Kinshuk at +919910024895
Schedule
(suggest edits on the event planning wiki. this page is only editable by kinshuk)
Day 1
10.00-10.30 : Welcome
10.30-13.00 : Hands On Introduction to Drupal 7 byAnkur Saxena (flyankur)
13.00-14.00 : Lunch
14.00-17.00 : Hackathon - Building a Blog, Brochure Website, Community Website with Drupal 7 by Kinshuk Sunil (kinshuksunil)
17.00-18.00 : Drupal Quiz
Day 2
10.00-13.00 : Developing Drupal Modules Workshop by Sudhir Porwal (sudhirporwal)
13.00-14.00 : Lunch
14.00-17.00 : Theming Drupal Workshop by Gaurav Mishra (gaurav_m)
17.00-18.00 : Cutting the Drupal 7 Cake and networking
Parallelly, Day 2 will also have an ongoing hackathons
--
We have a lot of expenses that need to be covered and some equipment needed on the venue. Check out theevent planning wiki to help arrange these.
Bring your own laptops, powerstrips, datacards and wifi routers with you to the event.
Sign up here and invite friends as well.
More Info: 
 Event Planning Wiki

Firefox leading on

LONDON: Web browser Firefox garnered the highest market share in Europe in December, pushing Internet Explorer to the second spot, reveals a study.

Read More: 
http://economictimes.indiatimes.com/tech/internet/firefox-most-used-web-browser-in-europe-statcounter/articleshow/7217063.cms


Python - A good introductory programming language?

Python - A good introductory programming language?

First a little experiment. The other day, I needed to count words in a string. One straightforward method for this is to break the string into tokens and count them:
1
2
def count_words_split(sen):
    return len(sen.split())
This is nice since split automatically takes care of multiple consecutive spaces if present. However in my case all the words were guaranteed to be separated by 1 space only. So following should get the job done with a little less work:
1
2
def count_words_count(sen):
    return sen.count(' ') + 1

This is essentially a single pass over the string with no need to create an intermediate list of strings and so should run faster. Surprisingly, on Python 2.5, the first method is twice as fast as the second one. I have no idea why. However sanity is restored on Python 2.6 and the second version is not only faster but also gets better with increasing size of input.

This got me thinking about a good introductory programming language. I learned programming with C and algorithms with Java. Many people have argued thatPython makes a better introductory programming language. I have also liked Python in the one year I have been using it. One nice feature of CPython, the primary Python implementation, is that the critical parts of your program where you have need-for-speed can be written as C extensions thus getting a significant performance benefit. Many standard Python modules are written as C extensions.

To a newcomer, however, it is not always clear what is implemented in C and what is not. Most of the time it is OK for somebody who is only learning to program. However an important part of learning to program is to learn about various data structures and the algorithms and how they compare on problems. Now if it so happens that an algorithms that should run faster in theory ends up slower because it uses parts of language implemented in pure Python while the other algorithm silently makes use of parts ported to C and runs faster, it can be confusing. This was the situation I found myself in while running my 2 algorithms on Python 2.5.

In fact, even beyond python, I would argue that a good introductory programming language should be consistent in the results it generates even if they are not the fastest. Perhaps Jython is a better bet in that sense since it will make sure that there are no optimized C modules skewing the timing results. Perhaps it is possible to create a dumb-down version of CPython which will not use modules written in C, using pure Python replacements instead.

PS: In fact, given that algorithms often have a space-time trade-off, even GC might play spoilsport. So does that mean going back to C? :)

How to get Google to fund your startup right after college!

How to get Google to fund your startup right after college!

If you are a hacker and a student in India and you are interested in doing a startup, you have a golden opportunity in your hands.

The Google Summer of Code (GSoC) program offers $5000 for a 4 month project you do for one of the participating open source projects. You get a mentor, hands on experience of implementing something which will potentially be used by real users and also get to be a part of an ever growing community of hackers in India.

Now let us say, you were able to get into the program. So you have access to:

Money
At today's conversion rate, $5000 translates to Rs.2,22,000/- approximately. After paying taxes (which comes at max to about Rs.6500/- assuming male and no other income), you are left with 2,15,000 in your hands. For a college student, 4 months expenses can be as low as Rs.10,000 when living on campus. But let us keep it at Rs.25,000/- assuming you really decided to live it up. Still there are ~Rs.1,90,000 in your account.

Excellent Pool of Co-founders
If you are on any of the mailing lists like OCC, HeadStart or follow the forums like Pluggd.in, NASSCOM Emerge, you can find any number of would-be-entrepreneurs looking for co-founders, especially technical co-founders. Through the GSoC community, you know a fine set of technical geeks who are willing to spend their summers working on arcane parts of free software projects. Guess what! These are the guys everyone is looking for but is unable to find. Grab one of them and find something of mutual interest. Bonus: your seed fund just doubled. If you want to be extra secure, just find one more co-founder. :)

Experience of actually building something
Assuming you participated in GSoC out of love of hacking and not for money, you already have more experience at building real things than most of the graduating students and most of the alumni of past 2-3 years. 

Initiative & Timing
There will not be a better time. Do GSoC in the final year of your college and then use the money to work on your dream startup immediately afterward. You will be in the flow and free of other burdens and worries. If it doesn't work out after 1 year, just think that you took 1 year extra to complete your degree ;-). With the skill set you develop, you will find a good job any given day.

So don't let this golden opportunity pass you by. If only GSoC had existed while I was in college!

ARE u a Python Lover

Are you python lover??? You must know this. ;)  

 $ python -c 'import this'

thasu@tha-admin-da ~ $ python -c 'import this'
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

more info http://www.python.org/dev/peps/pep-0020/