Linux Video Stabilisation

Removing camera movement due to operator or environmental factors is extremely time-consuming if attempted manually and automated functions have traditionally only been available in proprietary, commercial non-linear video editing software for similarly-restrictive operating systems. The open source VirtualDub‘s Deshaker plug-in is a noteworthy free solution but require Microsoft Windows or a compatibility layer (WINE) which reduces the inefficiency compared to the flexible stabilize filter for transcode.
Continue reading

Convert RGB to CMYK with GIMP on Ubuntu 12.10

Convert RGB to CMYK with GIMP

One of the things that graphic designers find necessary but, annoyingly, isn’t easy if you aren’t using Adobe’s Creative Suite is the ability to convert RGB to CMYK with GIMP as well as other proprietary pallettes such as the infamous Pantone. Because of licence restrictions on these sets of colours, they are not distributed with open source software so must be downloaded separately after the end-user agrees to their licencing terms.

Adobe RGB/CMYK Colour Profiles

To add Adobe’s colour profiles to GIMP, extract them into your home directory or somewhere you don’t mind having them sitting long-term, then; in GIMP, under Edit > Preferences, click the Colour Management section then select the profiles you’d like to use. A number of profiles are included in the bundle but most users will probably find themselves requiring the following:

Continue reading

mysqldump diff MySQL Differential Backup Shell Script

mysqldump diffmysqldump diff is a shell script that I wrote to take some of the pain out of differential MySQL backups.

Download mysqldump diff

After changing the appropriate values, this will dump your database daily and create a unified diff patch so you’ll only need to keep the original mysqldump intact and patch files describing the subsequent differences between each future dump. It is a simple form of version control for MySQL database dumps without the overhead of managed methods. Although results will differ based on on the frequency of record-modification and the interval between backups, using this method on weekly backups (over a 2-month period), my patches were each roughly a tenth of the size of the original dump and of course, the benefits are exponential as time goes on while allowing you to increase the frequency many-fold while still saving space.

Continue reading

wget Regex and File Type Filters to Mirror Websites

Use wget to download everything - quickly!wget is a powerful, command-line tool for file downloading flexibility, usually via HTTP. It allows you to backup entire websites or just the images, for example. It provides a lot more control and performs a lot quicker than other graphical tools or browser plugins such as DownThemAll!.

wget comes installed by default with every server operating system and every desktop operating system I use but if you are using a commercial, consumer desktop OS; follow the instructions for Apple MacOS or Microsoft Windows.
Continue reading

Tor Exit Node Trials and Triumphs

Tor Exit Node SetupI recently worked on a project that required rotating IP addresses without the need for speed, just viewing specific pages from different addresses. I first started with open HTTP proxies but their reliability varies hugely and I found that parsing any (free) proxy list was so unreliable and most of the time was spent determining that a proxy was not online so I came up with the idea of leveraging the Tor network due to the ease of path-finding and pruning of dead peers. As the results have shown, the number of peers is always sufficient for the requirements.

As a way of contributing back to the community and the Tor Project, I set up a dedicated Tor Exit Node. It was quite interesting and took a little while of going through disparate documentation sources and the outdated version in the repositories for Ubuntu Server but it was thrilling to learn exactly how this service function, that I’ve admired for many years, functions.
Continue reading

Extract Icons from EXE Files in Ubuntu Linux

Extract Icons from EXE Files on LinuxAs I sometimes use Windows programmes for testing cross-compatibility of projects, I end up adding iconless WINE shortcuts to my launcher but there is an easy way to extract icons from EXE files! I normally just hop onto Google Image Search and find a nice .PNG with transparency but here’s a quicker method:

sudo apt-get install icoutils
wrestool -x -t 14 source.exe > output.ico

The above should result in a multi-layered file but it’s quicker and easier to open this proprietary Microsoft Windows .ICO in GIMP, select which icon you’d like to use then export it as a non-proprietary .PNG file to retain transparency.

As they’re the sort of things I wouldn’t remember (or bother) to back-up, I’ve found it convenient to store all of my icons in a sub-directory of my Ubuntu One share so that they’re painlessly accessible on every computer or future installation.

Note: As Rduke15 pointed out, it seems that 64-bit executable binaries are not supported. I’m uncertain if that’s from structural differences or missing libs to add support, such as ia32-libs .

Stream Television in Ubuntu Linux with SopCast Player

Stream Television with SopCast PlayerA friend loves to stream television online to watch the football matches from England because of costly television channel subscriptions in Australia. I thought I’d write this guide to help him stream television so he doesn’t have to stay up until silly hours of the morning. A direct television stream also means one doesn’t have to hunt around the ad-ridden, unreliable websites before kick-off time hoping to get a good feed. I hope this guide on how to stream television online for free makes someone else’s sports entertainment a little easier.

sudo add-apt-repository ppa:ferramroberto/sopcast
sudo apt-get update
sudo apt-get install sopcast-player


The Win-popular VLC will also be installed but thankfully it needn’t be seen as the front-end and SopCast Player or another  GTK-managed player can display the stream.
Continue reading

Puddletag Automatic MP3 Tagger for Ubuntu Linux

When I used to use Microsoft Windows, I used MP3Tag to organise my digital music collection as it allowed for custom scraping scripts to attempt to retrieve tags and covers from specific sources such as my favourite; the Metal Archives script. MP3Tag looks just as bad running via WINE as it does under Microsoft Windows so Puddletag (PyQt), a feature-similar open source alternative, is like a dream come true.

The source, packages and a dependency list are available here but the programme isn’t available in the Ubuntu repository though Andrew of Web Upd8 kindly maintains a PPA:

sudo add-apt-repository ppa:webupd8team/puddletag
sudo apt-get update
sudo apt-get install puddletag

How to Convert to WebM in Linux

I spent a while looking into a programme with a GUI that could encode a WebM file in Linux as when I was first researching the royalty-free, open codec when it was just released, there was a distinct lack of tools but I had no idea it’d be this easy with ffmpeg:

ffmpeg -i input.mkv output.webm

I was shocked as but, really, this is the backbone of video codecs and chances are that any GUI would be just a nastily-skinned obfuscation (and possibly confusion) layer. There are many flags for greater control of the product which can be read about via the –help command or the online documentation but this time the default result is fine for me and I imagine if you’re after those features, you probably know enough to employ them more efficiently from the terminal than an aforementioned brushed-metal GUI. On those themes, why do all almost all WinOS options for these GUIs need to go design their interfaces for non-existent desktop environments? Probably because the hooks to ffmpeg didn’t take long to write.

How to Install GIMP Development Build in Ubuntu

I finally got around to installing a development build of GIMP from a kind soul’s Launchpad repositorybut ran into a few problems that many people seem to be having:

The following packages have unmet dependencies:
gimp : Depends: libglib2.0-0 (>= 2.31.2) but 2.30.0-0ubuntu4 is to be installed
E: Unable to correct problems, you have held broken packages.

Instructions aren’t as visible on Google as they are for most open source issues (i.e. the first result fixes your problem) so I thought I’d record what was needed (as opposed to what as tried) from start to finish:

sudo apt-get purge gimp libgegl* libbabl*
sudo add-apt-repository ppa:matthaeus123/mrw-gimp-svn
sudo add-apt repository ppa:linaro-maintainers/overlay
sudo add-apt-repository ppa:gnome3-team/gnome3
sudo add-apt-repository ppa:ricotz/testing
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install gimp