Category Archives: Linux

Installing Vagrant VirtualBox Guest Additions plugin on Linux Mint Debian Edition

As recommended on I have been using vagrant-vbguest to automatically update my Virtual Box Guest Additions.

I installed LMDE 2 (Linux Mint Debian Edition) on my laptop today and tried to install the plug-in but I run into some problems and wanted to document my solution. Really all that was required was installing two extra packages:

sudo aptitude update
sudo aptitude install ruby-dev zlib1g-dev
sudo vagrant plugin install vagrant-vbguest

How to install and package Frei0r plugins using FPM

To get the Alpha Shapes effect in Kdenlive you need install the Frei0r alphaspot filter.

This filter is experimental and not included in older Ubuntu release of the Frei0r plugin (recent versions of Ubuntu do contain these plugins). So the plugin needs to be compiled from source.

I decided to make a deb package with FPM as well, so I wouldn’t have to repeat the process. This post documents entire process if I ever do need to do it again.

If you just want the deb package it is linked at the bottom of this post.


Following the instructions to compile Frei0r off the Kdenlive site.

First, we need to make sure the plugins from the repositories are not installed, then we need to install the libraries required compile Frei0r.

$ sudo aptitude purge frei0r-plugins frei0r-plugins-dev frei0r-plugins-doc
$ sudo aptitude install libcv-dev libgavl-dev libhighgui-dev libcvaux-dev cmake

Now we are ready to check out and compile.

$ mkdir compile
$ cd compile
$ mkdir bin
$ git clone git://
$ cd frei0r
$ mkdir build
$ cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j3

Here we stop, instead of just plain make install we want to install the plugins to the bin directory we created earlier so we can package them.


This part follows the FPM instructions on PackageMakeInstall.

We also strip the debug symbols from the compiled plugins. It makes for a smaller, happier deb package. It also prevents the Lintian error “unstripped binary or object”.

Finally we go to directory where we want the create the deb package.

$ make install DESTDIR=/path/to/bin
$ cd /path/to/bin/usr/lib/frei0r-1/
$ strip *.so
$ cd /path/to/bin/..

Now we can create the deb package. I wrote this script to do it for me. The only thing you will need to change is the -C /home/krokodil/src/bin which should be the destination of your make install.

Download Package

You can download the deb package from the link below. If you are running a more recent version of Ubuntu (Utopic 14.10+) there is a good chance these plugins are already available in the repository version, so check that first.

Compiled on Linux Mint 16 Petra – Linux 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64. It works for me.

Use at own risk, I am not responsible for any damages caused by using this package or the plugins therein.


Install Debian wheezy-backports repository

The Debian backports repository contain packages or newer versions of packages that did not make it into the original release. You can read more about backports on the Debian website.

To install wheezy-backports you need to either add the repository line:

deb wheezy-backports main

to your /etc/apt/sources.list file.

Alternatively you can create a new sources list file with this command (run as root):

# echo 'deb wheezy-backports main' > /etc/apt/sources.list.d/wheezy-backports.list

Once installed, run apt-get update:

# apt-get update

Select individual packages to install:

# apt-get -t wheezy-backports install "package"

Photo credit: Giulio Turetta

Installing CyanogenMod onto a Samsung Galaxy S3 (International) – SIII / i9300 using Linux Mint 16 Petra (Ubuntu Saucy 13.10)

DISCLAIMER: Modifying or replacing your device’s software may void your device’s warranty, lead to data loss, hair loss, financial loss, privacy loss, security breaches, or other damage, and therefore must be done entirely at your own risk. I am not responsible for your actions. Good luck.

The new CyanogenMod installer requires Windows. Most of the manual tutorials assume you’re running Windows. Hopefully my summarised experience below will help other Linux users.

Continue reading Installing CyanogenMod onto a Samsung Galaxy S3 (International) – SIII / i9300 using Linux Mint 16 Petra (Ubuntu Saucy 13.10)

Bash script to download SXSW podcasts

For the last few years I have listened to the podcasts from SXSW while travelling to work or more recently while at gym.

Each year the number of podcasts has increased to the point where this year I am now too lazy to click through to every page and DownThemAll!. Besides it’s more fun to write a bash script to do the heavy lifting.

Continue reading Bash script to download SXSW podcasts

Inside every DVD is a small movie trying to get out. Part 1: A quick guide to K9Copy

The problem with backing up a regular store bought movie DVD is that it simply won’t fit into a normal blank DVD. The movie DVD is a 9GB monster, and the blank a svelte 4.4GB. There are two solutions to this: re-encoding and transcoding. This article is a quick guide to performing a transcode using K9Copy (similar to DVDShrink) on GNU/Linux.

Simplifying terribly, re-encoding takes the better part of a day or longer and the result is an .avi or similar file. These are so much smaller than the original that you can fit four or more reencoded movies onto a single 4.4GB DVD, but they won’t play in a regular DVD player. On the other hand a transcode takes about an hour and results in a single movie on 4.4GB DVD, which will play on a regular DVD player.

Transcoding works by lowering the quality of the movie to make it smaller. The smaller the desired end result, the worse it is going to look, but with a normal sized movie you shouldn’t be able to tell the difference.

Continue reading Inside every DVD is a small movie trying to get out. Part 1: A quick guide to K9Copy

PAM and the Bad password blues

Warning: Only try this at home! Using weak passwords on a computer that this is accessable from the wild and dark Internet, is tantamount to walking up to a spammer and saying “I’d simply love to be part of your zombie network—where do I sign up?”. I could safely do the following because this server is not accessible from the Internet and never will be, it’s a local test box for my own personal use.

I was creating a new user on a local CentOS 5.3 VirtualBox and while I was setting the password I received the following error: BAD PASSWORD: it is based on a dictionary word

After soul searching I found I didn’t feel coming up and then remembering a complicated enough password to make PAM happy, ie. not a dictionary word, long enough etc.

So instead I spent a while reading up on PAM—which, as it turns out, is a small team of alluring ladies and well worth stealing a look at.

Continue reading PAM and the Bad password blues

Monitoring bandwidth with bwm-ng

I discovered how to watch the bandwidth of server today using a tool called bwm-ng. It’s in the Ubuntu Hardy repos, you can install with the following command:

sudo aptitude install bwm-ng

When you run it in a terminal without parameters, it displays a running update of how much bandwidth is being used. This makes it a handy tool to get an immediate idea of what your network traffic is like, and there are also options to examine disk IO. Besides the “live running commentary” mode, it can also output in other forms as well, for example CSV.

Continue reading Monitoring bandwidth with bwm-ng