Tuesday, November 12, 2013

How to import functions in another file to your current file in python

If you are working on a code (sample.py) that uses functions of another file (simpleops.py) in the same directory, you can simply call "import simpleops" and then use the functions in that file as "simpleops.()" as shown in the below example.

Example: 

Your current program (sample.py) :

#!/usr/bin/env python
import simpleops

print simpleops.sum(5,3)
print simpleops.mult(5,3)



If the another file is in different directory compared to your current file, then you should first import its directory path and then import the file like: "sys.path.insert(0, FILEPATH) import simpleops" as shown in the below example. Note that the value '0' in sys.path.insert means it first searches the modules in the current directory first from the program has been called. 

Example: 

Your current program (sample.py):

#!/usr/bin/env python
import sys
sys.path.insert(0, FILEPATH)
import simpleops

print simpleops.sum(5,3)
print simpleops.mult(5,3)



For example lets say, your sample code (simpleops.py) looks like this:

#!/usr/bin/env python

def mult(a,b):
        return(a*b)

def sum(a,b):
        return(a+b)


Monday, November 11, 2013

How to install maven on linux?

Step-1: Download the maven binary package from http://maven.apache.org/download.cgi

Step-2: Extract the tar file: tar -xvzf apache-maven-3.1.1-bin.tar.gz

Step-3: Create a folder in /usr/local with the name apache-maven and extract the above tar file in this directory which gives the file structure as: /usr/local/apache-maven/apache-maven-3.1.1

Step-4: Set your path variables as below:
export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

Step-5: To check if maven is successfully installed: mvn --version


Monday, October 7, 2013

How to create new user on linux for mysql

First login as 'root' on your linux machine.

Go to mysql terminal and use these commands to create a new user.

mysql> create user ''@'localhost' identified by '';

mysql> grant all privileges on  * . * to ''@'localhost';

mysql> flush privileges;

Now go back to your console and login using the created username and password using this command:

$mysql -u -p

Thats all!! And you are good to use this username and password and work on databases.

Friday, September 20, 2013

How to install updates from console on linux

There are two options to install updates.

1. Using yum
2. GUI

It is very simple if you have already yum installed on your machine.

$ yum update

It should automatically install all the updates of different software on your machine. 

Using GUI, it is very simple process. Just follow the instructions on GUI.

Wednesday, September 18, 2013

Problem with tagger and chunkers of NLTK on linux

I installed NLTK using the commands which were found here: http://nltk.org/install.html

Everything got installed successfully. So when I started using this nltk package like this:

python
>>> import nltk
>>> text = nltk.word_tokenize("And now for something completely different")
>>> text
['And', 'now', 'for', 'something', 'completely', 'different']

But when I try to tag these tokens, there are some errors as shown below.

>>>  nltk.pos_tag(text)
  File "", line 1
    nltk.pos_tag(text)
    ^
IndentationError: unexpected indent
>>> nltk.pos_tag(text)
Traceback (most recent call last):
  File "", line 1, in
  File "/usr/lib/python2.6/site-packages/nltk/tag/__init__.py", line 99, in pos_tag
    tagger = load(_POS_TAGGER)
  File "/usr/lib/python2.6/site-packages/nltk/data.py", line 605, in load
    resource_val = pickle.load(_open(resource_url))
  File "/usr/lib/python2.6/site-packages/nltk/data.py", line 686, in _open
    return find(path).open()
  File "/usr/lib/python2.6/site-packages/nltk/data.py", line 467, in find
    raise LookupError(resource_not_found)
LookupError:
**********************************************************************
  Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not
  found.  Please use the NLTK Downloader to obtain the resource:
  >>> nltk.download()
  Searched in:
    - '/root/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
**********************************************************************


The way you can fix it is: Run this command which downloads the tagger:
>>> nltk.download('maxent_treebank_pos_tagger')

It downloads this package to some directory on your machine. For me it downloaded here: /root/nltk_data...

And all the system related files with regard to NLTK are in this directory: /usr/lib/python2.6/site-packages/nltk
So, I created a new directory called 'taggers' and copy this 'maxent_treebank_pos_tagger' to this new directory named: /usr/lib/python2.6//site-packages/nltk/taggers/

Now when you run this command:
>>> tagged = nltk.pos_tag(tokens)
[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'), ('Thursday', 'NNP'), ('morning', 'NN')]

Similarly when you try to do this:
>>> entities = nltk.chunk.ne_chunk(tagged)
You will see similar results that you have to download chunker and corpora, follow the similar procedure and execute these two commands:

>>> nltk.download('maxent_ne_chunker')
>>> nltk.download('words')

This can help you install the chunkers package and when you execute this command, you can get the parse tree
>>> entities = nltk.chunk.ne_chunk(tagged)
>>> entities
Tree('S', [('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'), ('Thursday', 'NNP'), ('morning', 'NN'), Tree('PERSON', [('Arthur', 'NNP')]), ('did', 'VBD'), ("n't", 'RB'), ('feel', 'VB'), ('very', 'RB'), ('good', 'JJ'), ('.', '.')])

Hope this helps!


Thursday, September 5, 2013

Install/add network printer to your system list in linux through command line

Initially check if CUPS (Common Unix Printing System) daemon is running or not using this command:

$$ /etc/init.d/cups status

You will see something like this on your terminal:

$$ cupsd (pid ****) is running...

If the daemon is not running, then start the daemon using these commands:

$$ /etc/init.d/cups start
$$ chkconfig cups on

To add the network printer, use this command:

$$ lpadmin -p Printer_name -E -v socket://


To set a default printer:

$$ lpadmin -d  Printer_name

To check the printer status and see if printer is in ready mode:

$$ lpq

 You see something like this when your printer is ready and there are no entries:

$$ Printer_name  is ready
$$ no entries

To check the printers installed on your machine, you can use this command:

$$ lpstat -p -d

If you want to delete a printer on your machine:

$$ lpadmin -x Printer_name




**part of this has been taken from http://sumitgoel.me

Wednesday, June 26, 2013

Applying for F-1 US visa from India

This post is intended to share my experience with those who are applying for F-1 visa to pursue education in the United States of America. Please note that this post is based on my OWN personal experience ONLY. Please follow the US-traveldocs (http://www.ustraveldocs.com/in/) website for the correct information.

There are many good websites online which gives a very detailed information about applying to F-1 visa. Here is how I applied for the visa.

Step-1: Receive i-20 from the university of your choice

Step-2: Pay SEVIS fee online (save this payment confirmation slip)

Step-3: Fill up DS-160 form online (My visa interview is in Hyderabad. So, no need for me to upload my photograph online. I went to OFC for a separate photo and fingerprint collection.)

Step-4: Take appointment for OFC and visa interview on ustraveldocs website

Step-5: At OFC: Take these documents along with you: passport, appointment confirmation, DS-160 confirmation. (Good to take i-20 as well but not required. I was not asked to show i-20)

You will be given a token number and asked to be seated. When your token number shows up, they will take your photograph and collect your finger prints (all fingers). They may ask you why you are going to the States.

Step-6: At the US consulate for visa interview: Take all the required documents which may include: passport, appointment confirmation, DS-160, SEVIS receipt, i-20, admission letter, GRE scorecard, TOEFL scorecard, funding letters (if no funding then bank loan documents that support you financially), transcripts, degree certificates, etc. And proceed for the interview.

Good luck for all the aspirants who want to pursue education in the US!