Posts

Showing posts from December, 2013

Unix cheat sheet

Inspite of years of working on Unix and Linux I still wasn't confident if I knew enough and hence read it in these holidays and I see that we can get our way through these amazing OS using the below commands:- The OS uses the Filesystem to store data on the harddisk. They are different types of file storage, NTFS, FAT and etc.  Commands to get your through! pwd ==> Prints the working directory you are in.  ls ==> just to list the files and directories, flags -l  => output in list format -a => show the hidden files -h => output is more human, that is easier to understand  cd ==> Change directory  find location -type f -name filename   ==> to find the file that you have been looking for. parted for partitioning ext4 mkfs ==> to create filesystems echo $PATH  ==> print the path env ==> to list the environment variables of  ps -efl  ==> to print the details of the process that are running ps $$ ==

Accessing the Google APIs using Oauth 2 in Python

Image
In its simplest form, Oauth is as in this document I had created earlier. Oauth is such a simple protocol and so much of fuss is being made about it, its so simple that you can understand it even by reading its Specification  documentation ! Below pic shows the flow +--------+ +---------------+ | |--(A)- Authorization Request ->| Resource | | | | Owner | | |<-(B)-- Authorization Grant ---| | | | +---------------+ | | | | +---------------+ | |--(C)-- Authorization Grant -->| Authorization | | Client | | Server | | |<-(D)----- Access Token -------| | | | +---------------+ | | | |

Agile Python Development and the Laundry list

We need method to the madness! There are apparently two, one is waterfall and the other agile When? Manifesto for Agile Software Development was produced in February, 2001. Why Agile? Is more pragmatic, as it knows that not everything can be documented at the beginning of a project. But it does put in place some rigorous  checks to accommodate these changes! So that any change can be accommodated, with good communication, iterative design and development.  Agile development can be applied in any project, both testing tools and build automation tend to be very language specific. Python too has these tools. Jargons again! Agile methodologies  XP - Extreme programming -- focuses almost exclusively on the developer and development techniques DSDM - Dynamic Systems Development Method -- focuses completely on processes there could be many more. Spirit of it from manifesto! Individuals and interactions over processes and tools Working software over compreh

Google APIs for python - don't feel unfortunate anymore if you have to work on these

Image
From the past 4 years I've been unfortunate enough to work on Google API's which are those for which even Google cannot search their documentation, may be because it doesn't exist, stackoverflow no matter how much it overflows cannot give us anything much on these. Below is the summary of all my experience to crack the Google APIs. I've spent days together to crack one thing at times and I wished I had known these tricks so that it wouldn't have taken me this long. So firstly try to read as much as possible from the getting started guide. This will take you to a world of links, go to those link and grab in what ever is possible (don't worry if you don't understand anything). [trade secret of software engineers is make the simple sound as complex as possible, and intimidate others!] But the world of python is different!  " Simple is better than complex." -- zen of python So the magical commands in python are :- dir() type() help() (k