Apple, Facebook, Google and Microsoft in a School

Back to School

Teacher:  Ok boys, we have these four innovative projects for this semester. Let us go one by one and see who is interested in what.

Apple: Ok, Mam. (Oh, goody goody. Time to be creative)

Microsoft: Ok. (Why do we need to do this innovative stuff every now and then?)

Google: Ok. (Really, are there more projects that I cannot think of)

Make a Computer/Laptop

Microsoft: I will do it

Apple: I will do it

Google: Me too

Develop an OS for Phones

Microsoft: I will do it (I just need to remove some 10 millions lines of code from my last semester’s computer OS project and copy/paste few things here and there.)

Apple: Me too. (What crap they are building these days. I think I can do cool re-design of last semester’s computer OS project)

Google: Me too.

Make a Phone

Apple: I will take this one up. Got some good ideas and I am already working on it

Google: Me too. (Damn, I need to buy from someone now)

Microsoft: Me too. (This is a good time, let me ask that (Nokia) guy whom I gave lot of money last time)

Teacher:  Next project: Make a Tablet

Apple: I will do it. I have been working on this. Here is how it may look like.

Microsoft: Me too. (I need to do something about this)

Google: Me too. (I hope at least this works out fine)

Teacher: Ok, great.I am excited to see the enthusiasm in this semester’s projects. Where is Facebook ?

Facebook (comes running): Yes, Mam. Sorry, I was fixing the website I created in the last semester’s project. Last night, it went viral and all Schools in the country are accessing it right now.

Teacher: That’s great. Good job, Facebook. So, what are you gonna work on this semester ?

Facebook: Sorry,  I missed the class,  but I will take up all the projects the other guys are doing.

Installing PIP & Virutalenv in “sudo” free way

Recently, I needed to install a python native module in my build environment.  My build environment had python made available by auto mounting an NFS python installation. As this mount is shared with many users, I only have read-access to it.

Instead of polluting the build environment, I wanted a clean way to install this python module. Obviously, virtualenv is the right way to go, but unfortunately, the shared python installation didn’t have any of virtualenv, pip, setuptools  pre-installed.

So, after googling a bit and looking at the documentation of pip, setuptools and this excellent stackoverflow link,  here is the solution I came up with:

  • Install setuptools first into user local

$wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
$python ez_setup.py –user

  • Install setuptools first into user local

$curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py

$python get-pip.py –user

That should have installed both setuptools and pip into user home directory (~/.local on linux). Put the ~/.local/bin directory on the path and move to next step

  • Install virtualenv into user local

$pip install –user virtualenv

 

That’s it. Now you have pip and virtualenv installed into user local directory without modifying global python installation.