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  


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

To deny our own impulses...


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

... is to deny the very thing

that makes us human. 

and changed to this


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.

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

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

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

Using Sourcegraph To Search Real Code!

What Is Sourcegraph Anyway?

" Sourcegraph is a code search engine that lets you search across hundreds of thousands of libraries and browse code in the same way you can do in a great IDE. "

Sourcegraph is not the first code search engine ever built, neither it will be last, but it offers is completely different from all other code search engines like Nullege, OpenHUB

Why Should You Care?

I will explain a few situations where it makes developers life a little bit easier.

1. Search Real Code:

Sourcegraph helps you to quickly search open source projects & see realcode examples. Let's say I am using Celery to schedule some tasks. I know there is chord (a task that only executes after all of the tasks in a taskset has finished executing) but I don't know how to use it. I can use Sourcegraph to find chord, look at its api, check out some real world examples. 

Here it doesn't sound Sourcegraph is much useful because you can go through the documentation and you can get all the information about it. But you won't find a lot of real world examples in documentation.

Also if you learning about a new module, it will take a while to wrap your head and get used to that module. What you can do is browse through sourcegraph to understand the api & immediately check out some real code where other programmers have used it for various purposes. I feel this helps a lot to start using a new module and get used to it quickly.

2. Bad Documented Libraries:

There are tons of open source libraries & some of them have very good documentation. There are some good libraries which are documented badly or don't have documentation at all. It's a huge pain to to use a library with bad documentation. Here sourcegraph once again comes to rescue us by quickly navigating around the code. 

3. Chrome Extension:

I spend significant time on Github browsing code. Sometimes I clone the repo and browse it on Emacs. But sometimes I just want to browse on Github itself. Sourcegraph has chrome extension which lets you browse code quickly on GitHub by making every identifer a jump-to-definition link. By the way if you are a using it please write a review.

That's if for now. I came across Sourcegraph a couple of weeks back. From then on I am using it almost everyday. Currently it supports only Python, Go, Ruby, Node.js. I hope it will support for other languages soon. What I mentioned here is just a little introduction. Check out ProTips, Sourcegraph docs & srclib(a polyglot code analysis library, built with hackability in mind). If you are a Go programmer, read How do I use Sourcegraph with Go? (a short FREE ebook by Satish Talim).


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 it's 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, we 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


./s2cctl start

Now you can use your space as space and control key.

If you are using Mac, you can use Karabiner with the following modification.

  "title": "Change spacebar to spacebar & control",
  "rules": [
      "description": "SpaceControl",
      "manipulators": [
          "from": {
            "key_code": "spacebar",
            "modifiers": {
              "optional": [
          "to": [
              "key_code": "right_control"
          "to_if_alone": [
              "key_code": "spacebar"
          "type": "basic"

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 ()
  (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.


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)

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.

How To Get Telugu Books If You Are Out Of Andhra!

If you are a (Telugu) bookworm, and you are living out of Andhra, then getting Telugu books is a huge problem. Thankfully a lot of online stores are coming forward to solve this problem. Let's look at a few sites where we can get Telugu print & e-books.

1. Digital Library of India1: [Free]

Government of India is spending a crazy amounts of money to digitize public domain books. This is the best place to get telugu ebooks for free of cost. Currently there are 23,370 books in Telugu. Eventhough you won't new books there, you can find a lot of great classics.

2. Kinige2:

This is the most popular site(Alexa Traffic Rank: 118,798) for buying Telugu books online. They supply both print books & e-books. The good thing about Kinige is they rent the for a period of 30 days at a reduced price. Most books are available here and is a good place to get started.

3. Logili3:

One more popular (Alexa Traffic Rank: 138,459) website to buy books online. It's also has great collection. However they sell only print books but no e-books. At times when there are no print books on Kinige, this is a great alternative.

4. Flipkart4:

Most of you heard of Flipkart. You can't get all telugu books here but a few. If you are a regular shopper at flipkart, you might get available books at discount price.

5. Amazon5:

It is struggling & competing with other online stores in India. Here also you can find a reasonable number of telugu books are great discounts.

You can also buy telugu books at Supatha, BooksForYou, InfiBeam, EveningHour.

In addition to these sites, authors or publication houses might be running their own sites ( for example Yandamoori sells his books from his site also ), you can buy from them also.

Recently I came across AVKF. It also has a great collection of telugu books.