Monday, January 6, 2014

Useful Linux Commands (ubuntu)

Find the size of a directory
du -ah 

See how much space is free, and how much is used
df -h

List all the commands that you can use as sudo
sudo -l

If the output of the command is:
    (www-data) NOPASSWD: /usr/bin/php
    (www-data) NOPASSWD: ALL

You can run php as www-data, but also, you can run any other command as www-data.

To run chmod as www-data
sudo -u www-data chmod g+w testdir

Copying files from one machine to another, when you want to copy only the changes the next time around.
rsync -avz from_local_dir machinename:/some/dir/on_other_machine


Sunday, January 5, 2014

Postgres commands

dropdb dbname

createdb -E utf8 -O username databasename

pg_restore -O path_to_dump.pgdump -U username -d databasename


Sunday, December 29, 2013

Commonly used git commands

  • git checkout oldbranch # Checkout an existing branch
  • git checkout -b newbranchname  # Create a new branch 
  • git checkout -b newbranch remote/newbranch # to avoid confusions

  • git status  # See your changes

  • git branch --all | grep pattern      # All branches in all repos you have added
  • git branch                                     # to list local branches

  • git push --dry-run     # See what you are going to push
  • git push                     # Actually push

  • git config branch.branchname.remote    # to see the value
  • git config branch.branchname.remote  privatebranch   # to set the value

  • git config branch.branchname.merge
  • git config branch.branchname.merge branchname # the remote merge branch 

 # Show all commit logs for all commits on branch1 that are not on branch2
  • git log branch1 ^branch2 --no-merges 
  •   git push origin :branchname    # Delete a remote branch
  •  git remote add newrem git+ssh://path.to.git/remote
# Run this as soon as you add a remote repository. To download all branches.
  • git fetch
  • git fetch remote
   

Wednesday, February 27, 2013

Using screen to manage your terminal windows

You can use screen if you need to have more than one terminal window open to at the same time.

The advantage of screen is that even if there is an internet problem, you can reattach to the screen where you were working on once your internet is back up.

screen                             Will open a new screen
exit                                  To quit the screen, and go back to the shell
screen -ls                         Display a list of all screens
screen -d screen_name     Detach from screen_name

In Screen, you type Control-a and then you can type in your command. Below are a few common commands.

Ctrl-A :sessionname dev_server    Names the current screen dev_server

Ctrl-A c         Open a new screen
Ctrl-a n          Switch to next screen
Ctrl-a p          Switch to previous screen
Ctrl-a \           Quit and kill all your windows

Wednesday, January 30, 2013

How to get your first software job

Good advice on how to get your first software job at http://youtu.be/snMOeLxVQPg

Make something. Anything. When you do, you learn. And you show the company why they should hire you.




Saturday, December 29, 2012

How to cook Potato for Masala Dosa

Wash the potatoes, cut them in half and put them in a cooker. Add water and put it on the stove. When the steam comes out 3 times, switch off and wait for the potatoes to cool down.

Once the potatoes cool down, peel off the skin and throw it away. Mash the potatoes, mix salt and taste it to make sure you have the right amount of salt.

Cut onions, tomatoes and chillies.
Put some oil in a kadai and let it heat a bit.
Add awalu, jilakara, urad dal and karepaku and fry them till it goes chat pat.
Add onions and fry till light brown.
Add tomatoes and chillies.
Take a small spoon and add a quarter spoon of turmeric powder.
Add the mashed potatoes and mix.

Keep it on the stove on a low flame for a few minutes and serve hot.

Deploying a Catalyst application with Starman and Apache on Linux

Go to your application directory and run this command, to run the server.

starman -I./lib --workers 1 --port 3000 myapp.psgi --log log/myapp.log --pid run/paxi.pid --daemonize

Confirm that the PSGI server is running on the server by visiting http://localhost:3000.

Add this to your Apache configuration file. On centOS, you will find it at /etc/httpd/conf/httpd.conf

<VirtualHost *:80>
    ServerAdmin email@myapp.com
    DocumentRoot /var/www/vhosts/myapp
    ServerName myapp.com
    ErrorLog /var/log/httpd/error_log-myapp
    CustomLog /var/log/httpd/access_log-myapp common

    ProxyPreserveHost On
    ProxyPass / http://0:3000/
    ProxyPassReverse / http://0:3000/
</VirtualHost>


Now, you should be able to visit http://myapp.com from any browser.