Django Tips & Tricks #1 - Shell Aliases For Python/Django Developers

Developers and hackers prefer using terminal and spend a lot of time on it. Instead of typing long commands over and over, they can be aliased to shortnames. The shell builtin alias allows users to set aliases.

One of the most used command while setting up development environment is pip install -r requirements.txt This can be aliased to pir.

alias pir='pip install -r requirements.txt

Now to install requirements, type pir and pressing enter. Here are some other aliases related to python which will be useful on a daily basis.

alias py='python'
alias ipy='ipython'
alias py3='python3'
alias ipy3='ipython3'

alias jn='jupyter notebook'

alias wo='workon'
alias pf='pip freeze | sort'
alias pi='pip install'
alias pun='pip uninstall'

alias dj="python manage.py"
alias drs="python manage.py runserver"
alias drp="python manage.py runserverplus"
alias drps="python manage.py runserverplus --print-sql"
alias dsh="python manage.py shell"
alias dsp="python manage.py shell_plus"
alias dsps="python manage.py shell_plus --print-sql"
alias dsm="python manage.py schemamigration"
alias dm="python manage.py migrate"
alias dmm="python manage.py makemigrations"
alias ddd="python manage.py dumpdata"
alias dld="python manage.py loaddata"
alias dt="python manage.py test"

Just add the above aliases to your ~/.bashrc or ~/.zshrc. That's it. Hpy alsng!

A Better Way To Take Screenshots Of Movies With Subtitles

I take a lot of screenshots(just press SHIFT + S or select Take screenshot from Video drop down menu) when I am watching movies. Few days back I was watching The Matrix and I wanted a take screenshot of this quote.



However the entire quote is present in two different frames. I used to use image editor and join those two images and keep them in my screenshots folder.

Today as I was thinking about a better solution for this. I got this idea of editing subtitles. I opened the subtitles files and edited this part  

753

01:06:45,251 --> 01:06:47,085


To deny our own impulses...




754


01:06:47,336 --> 01:06:50,463


... is to deny the very thing


that makes us human. 

and changed to this


753


01:06:45,251 --> 01:06:47,085


To deny our own impulses is to deny the very thing


that makes us human. 

which made it possible to capture the entire quote in a single frame.


Of course this is not the best method but it is far better than editing and joining couple of images.

I Found A Purse Near Dairy Circle, Bangalore!

I was going to Dairy circle yesterday evening. Near to the bus stop  I  found  a purse. A lot of people were standing and passing by but no one noticed it. I just looked around to see if any one is searching for it. But no one was there. I checked the contents to see if any number or any information is available to call the owner of the purse.

Here are the contents of the purse:

1. Bus ticket from Chennai to Bangalore
2. A shop's visiting card
3. A hundred rupee note
4. An old ten rupee note
5. Some change.
6. 3 photos
7. A SIM card

There was number written on the purse. I tried to call that number but it was not reachable and the SIM card also not working.

How To Install Adobe Digital Editions On Ubuntu 14.04?

Few days back, I rented an e-book from Kinige, a retailer of telugu print & ebooks. I thought I could read that book immediately on their website. But they offered a .acsm & I had to install ADE(Adobe Digital Editions) to read that book. Since ADE is not available for Linux platform, I had to install wine first and then install ADE from it.

1. Installing Wine:

Wine  is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. The easiest way to install wine on Ubuntu 14.04 is from its PPA. Open the terminal and run these commands.
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.7 winetricks
You can check if wine is installed correctly by typing  wine --version 

2. Install ADE

Once you installed wine, you can easily install ADE. The current version is ADE 4.0 as of today(Oct 9th 2014). But only ADE 1.7 works on wine. So you have to download ADE 1.7. You can download it from here. Once you have downloaded that, you can just double click and install it just like windows.

తెలుగు సాహిత్యం పైన చలం ప్రభావం!

చలం వల్ల తెలుగు సాహిత్యం లోను రచయతల్లోను వ్యక్తుల జీవితాల్లోను ఏం మార్పులు జరిగాయో అర్థం చేసుకోవటానికి ఈ ఒక్క పేరా చాలు.




ఈ పేరా రంగనాయకమ్మ  గారి చలం సాహిత్యం నుండి తీసుకోబడింది. 

Chrome Extensions For Efficient & Productive Web Surfing

I do use a lot of chrome extensions. Here are some of my favorite extensions which I use for everyday browsing.

1. AdBlock

Blocks annoying ads all over the web.

2. Vimium

I love browsing web with just keyboard. If you are familiar with Vim, install it without any second thoughts. Vimium provides keyboard shortcuts for navigation and control in the spirit of Vim.


3. Alexa Traffic Rank

If you are a webmaster or stataholic, you need this.


4. Google Quick Scroll

If you have searched for something on Google and landed on a page with lot of text, it helps you jump directly to the relevant bits of a search result.


5. Hover Zoom

Simply enlarge thumbnails by hovering your mouse.


6. HoverReader

While reading an article, if you encounter a hyperlink, peek into it by hovering the mouse.


7. Magic Actions for YouTube

Auto HD, Ad Block, Cinema Mode, Mouse Wheel Volume Control and more magic actions for YouTube.

8. Readable Wikipedia  WikiWand

Previously I used Readable Wiikpedia to read wiki articles.
But now I use WikiWand. It provides amazing look for our beloved Wikipedia.

9. AutoPager Chrome

Scroll through paginated web pages.

10. DevTools Auto Save

Saves changes to your CSS and JS right from the browser. Comes in handy for web developers.

11. OneTab:
Pull all tabs into single tab & save up to 95% memory and reduce tab clutter.

12. Popup Blocker Pro:
Blocks all annoying popups and popunders the professional way. You will never see popups anymore. Permissions Visit website

13. Stylebot:
Change the appearance of websites instantly. Preview and install styles created by other users on stylebot.me

14. Tab Number:
Tab number show number on each tab. If you want to jump a particular tab, So you can jump around easily by pressing ALT + pagenum.

15. Thin Scroll Bar:
Thin Scroll Bar to increase screen space for little more visibility.


========================================================================

Use Space As Both Space & Control - Avoid Emacs Pinky!

Most of the  commands  in  Emacs start with  'Control'  &  'Meta'. Control key is present at the corners of the keyboard and its very uncomfortable to press it every-time to invoke a command. Most popular solution to this is to swap CAPS lock & CTRL key. But you have to press the key with Pinky which might cause Emacs Pinky.

A much better solution is to use space bar as control key. When you press the space bar, it will function as a normal space key. If you press it with any other key. it will function as control key. So, to run any commands, you can hold space with one thumb and press other key(s) with another hand which will be handy.

In Linux, you can achieve this with Space2Ctrl.

Install the dependencies, clone the repo, make and start the script.

sudo apt-get install libx11-dev libxtst-dev

git clone https://github.com/r0adrunner/Space2Ctrl

cd Space2Ctrl

make

./s2cctl start
Now you can use your space as space and control key.

If you are using Mac checkout KeyRemap4Macbook & for windows users there is Dual.

Auto Remove Python Unused Imports & Variables In Emacs

Unused code will distract you(and other people) while reading code. Also, a single unused import can cause out of memory error. So, it is considered as a bad practice. Lets try to get rid of unused imports & variables from Python code.

Autoflake removes unused imports and unused variables as reported by pyflakes. Install it\

$ pip install --upgrade autoflake

Now select a file which you want to clean and run this in terminal.

$ autoflake --in-place --remove-unused-variables example.py

It removes all unused imports & variables from the file.

Instead of running this command every time, I wrote a simple elisp function and assigned a F8 key to that function. So while writing the code itself it can clean it & it's much efficient.

;; Py-rm - Remove unused variables & imports from python

(defun pyrm ()
  (interactive)
  (setq command (concatenate 'string "autoflake --in-place --remove-unused-variables " buffer-file-name))
  (shell-command command)
  ;; Reload the modified file
  (revert-buffer t t)
  )

;; set a custom key for pyrm
(global-set-key [f8] 'pyrm)

Put the above code in your emacs configuration file, restart it & press F8 whenever you want to clean the code.

However, if you just need to highlight but not delete them, you can install flymake and then enter this.

M-x flymake-mode RET

It just highlights the other syntax errors and unused imports but won\'t delete them.

Screenshots

Simple Python Code

Unused code highlighted with flymake-mode

Cleaned with autoflake

Amazing Things To Do With Python In Everyday Life!

In Python, with a couple of imports and a few lines of code, we can do amazing things.


I am post here a list of amazing scripts/projects that I came across.


VLC With Subtitles:  Automatically download and load correct subtitles in VLC.

Youtube-dl: Small command-line program to download videos from YouTube.com and other sites.

20482048 Game with Kivy(Also available on Play StoreiTunes, and for terminal)

Rainbowstream
A smart and nice Twitter client on terminal wrote by Python. 

Send Personal Messages:  Thank all your friends who wished on your birthday on Facebook.

T A command-line todo list manager for people that want to finish tasks, not organize them.

qblog: Build & test a blog with Django 1.7 in less than 17 minutes.

coureseraScript for downloading Coursera.org videos and naming them.

sh: Call any shell program as if it were a function.

AutoFlakeRemove unused imports and unused variables as reported by pyflakes.

Django-Extensions: Collection of global custom management extensions for the Django Framework.

Pattern: Scrape & Process Web easily.

PDFMiner:  Exact a part(or entire) of text from pdf.
     
tqdmAdd a progress meter to your loops in a second

onionshareSecurely and anonymously share a file of any size.

q: - Run SQL directly on CSV or TSV files.

iPython Notebook: Combine code execution, text, mathematics, plots and rich media into a single web document & share with others.