OpenShot Video Editor

OpenShot is a fantastic video editor for Linux. It can handle almost all the operations you might want to perform to create a simple video.

Features I relied in it include:

  • Content can be laid on two tracks. For example, a background color and text on one and a small video in another. These will be automatically combined for the final video.

  • Slides of text can be added. This is useful to add title pages. These can be edited in OpenShot or for more complex editing, it opens it in Inkscape. This is all possible since these are just SVG files.

  • Images and image sequences can be added. Inter-image transition times can be set easily.

  • Easy to create videos for various modern output venues like YouTube.

One terrifying simple feature that is missing is that you cannot add content to the beginning or middle of the track by shifting stuff over to the left or the right! Users have discussed it over here, but do not expect the feature anytime in the future.

Tried with: OpenShot 1.4.3 and Ubuntu 14.04

The strange case of the disconnecting wireless router


At 2PM today, I started noticing problems with my home wireless network. All the devices connected wirelessly to the wireless router started getting disconnected and reconnected repeatedly. Even when connected for the brief period, the Internet speed was an order of magnitude less than normal.

The wireless router is a D-Link DCM-604 cable wireless modem-router provided by Starhub. There were two Android smartphones, an Aftershock XG15 V2 notebook and a Macbook Air 2013 connected to the network which experienced these problems.


I thought that this was a problem with the wireless router. But, resetting the wireless router to factory settings did not help. I spent a lot of time going through the settings of the router, hoping that something had gone wrong with one of them. However, connecting to the router using an Ethernet cable worked fine.

On mulling over this problem and its symptoms, I had no choice but to settle on a crazy conclusion: one of the wireless devices was causing this problem. I do not know how a wireless client could be continuously messing with the wireless router, to the point that its affecting the entire wireless network. But, I decided to test this.

To do that, I started by powering off the connected devices one by one, restarting the wireless router each time and checking the status of the wireless network. And soon I hit pay dirt: the Aftershock XG15 V2!

This notebook was using a Qualcomm Atheros AR9462 wireless network adapter. I was running Ubuntu 14.04 with kernel on it. I do not know whether the hardware or the driver was causing this problem and how. Turning off the wireless from Ubuntu tray icon did nothing. But on restarting the device and then restarting the wireless router, peace was restored. All the devices connected and worked fine!

Tried with: Aftershock XF15 V2 notebook, Qualcomm Atheros AR9462 wireless network adapter, Ubuntu 14.04 and D-Link DCM-604 wireless router

How to install Java to Eclipse CDT

People who work with C or C++ use Eclipse CDT. When they need to work with Java too, then adding this support to Eclipse CDT is easy:

  • Check if you have a Java Development Kit (JDK) installed. Else install one. I like to use the open source OpenJDK. I installed it using:
$ sudo apt install openjdk-7-jdk
  • Open Help -> Install New Software. This opens a dialog where you can choose what plugins to install.

  • In the Work With dropdown, choose your Eclipse version. For example, I chose Luna. The Software list below should get populated with all the software that can be installed to your Eclipse.

  • In this list choose Programming Languages -> Eclipse Java Development Tools. Choose Finish.

After installation, Eclipse will ask to be restarted. After the restart, you should be able to create and work with Java projects.

Tried with: Eclipse Luna 4.4.1 and Ubuntu 14.04

Bad PreviewIFD directory error with EXIFTool


I tried to change an EXIF tag on a JPG file using the exiftool command at the shell. I got this warning and error:

$ exiftool -Exif:Copyright="Obama" DSC_0023.JPG
Warning: Truncated PreviewIFD directory. IFD dropped. - DSC_0023.JPG
Error: [minor] Bad PreviewIFD directory - DSC_0023.JPG


The PreviewIFD is a feature related to the image preview that is stored along with the JPG file captured by a Nikon camera. This warning and error can be safely ignored by using the -m option to exiftool:

$ exiftool -m -Exif:Copyright="Obama" DSC_0023.JPG

Tried with: EXIFTool 9.46-1 and Ubuntu 14.04

How to delete file from Audacious

The ability to delete a music file directly from Audacious can be useful. However, the version of Audacious that ships with latest Ubuntu does not have this feature. Thankfully, it has been implemented as a plugin and ships with Audacious 3.5.2.

To remove your Audacious and install the latest Audacious from PPA:

$ sudo apt-get remove audacious
$ sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install audacious

To turn on the feature to delete files, enable Files -> Settings -> Plugins -> General -> Delete Files. Right-click on a file in the playlist and choose Services -> Delete Selected Files. The files will be moved to Trash, so you can recover them later if you want.

Tried with: Audacious 3.5.2 and Ubuntu 14.04

How to set color of arrow head in Inkscape


This is a strange way that Inkscape is designed. Here is how I drew a red line with an arrowhead:

  1. Draw a straight line
  2. Set color of line to red
  3. Add arrow head or tail to the line

The problem is that the arrow head remains in the default black color! It is not set to red.


Inkscape designers are very well aware of this problem since a clean solution exists and is tucked away in the far recesses of its menus. To set the arrow head or tail to the same color as the line its attached to: go to Extensions -> Modify path -> Color markers to match stroke.

That is it, the color should be changed now. You will need to keep applying this command whenever you change color of the arrow line.

Tried with: Inkscape 0.48.4 and Ubuntu 14.04

How to execute command at shell from Python

There are many operations at the shell that need a bit of looping or automation. You can learn programming in the language of the shell you use to achieve this. Since I know a bit of Python, I prefer to use it for running quick commands at the shell. The call to execute a command at the shell is os.system.

I typically use this call to automate repeated commands that I want to run at the shell. For example, I open a Python interpreter from your shell and type:

import os

for i in range(100, 200):
    s = "montage foo-" + str(i) + ".png bar-" + str(i) + ".png -tile 2x1 foobar-" + str(i) + ".png"

This quickly makes pairs from two sets of 100 images I have, puts them together and creates a new set of 100 images. Pretty sweet to automate operating on 100 images with just a few lines of code! :-)

Tried with: Python 2.7.6 and Ubuntu 14.04