New tool release: Quick File Share for Android

I've published my second android app, a bit more useful than the first one (and also more prone to be a source of problems :P).

Quick File Share is meant to ease file sharing between devices by using a Wi-Fi network. Sharing content between Androids sucks: you can use bluetooth for a painfully slow experience or use email or cloud storage, with the unnecessary upload (which is also extremely slow for most people), while NFC is just a fancy way of triggering a bluetooth transfer; and that's about it.
Wi-Fi Direct (aka Wi-Fi P2P) finally emerged as a solution, but that requires discrete hardware that only newer devices have.
Meanwhile, if the devices are connected to a Wi-Fi network, than speedy, wireless, and already set up connection can't really be taken advantage of by default. That's the spot this app helps in filling, and it's certainly not the only option, but I couldn't help trying.

Select a file to share, and a temporary webserver will be started on the "sending" device. It will display a QR code and an HTTP address, so that the receiving device(s) can receive the file by just typing the address in a browser or scanning the code (scanning the code will also trigger the browser). The actual transfer is always over HTTP, so you can actually receive the file on essentially any device with network access.

What's the catch? There's always a catch. At least for the time being, the two devices must be connected to the same network. There are other tools on the marketplace that help the receiving device connect to the same network as the sender, but I didn't like that operation too much, so I preferred this way of operation.

Google Play Entry
Project Page

Screen captures:

Main window

Quick File Share

Main window, sharing enabled

Quick File Share, sharing enabled

New tool released: Network Type Indicator for Android

I recently published my first Android app, and I hope someone else finds it useful. It's a bit of niche tool, but comes to cover a missing feature of some phones.

This is a tool for those that like to know which kind of network coverage type they're under –in other words, if they're on a 2G, EDGE, 3G, etc… network–, yet their phone, like mine, doesn't display such information automatically.
It shows a status bar icon and a permanent notification identifying the network type.

It takes as little memory as possible and barely any CPU time, for those with severely limited handsets. Like me.

Unlike with my previous tools and not releasing the source code, for the time being, until I get more comfortable with Android development.

Google Play Entry
Project page

And here are some screen captures:

Network Type Indicator, dropdown permanent notification

Network Type Indicator, Persistent Notification

Network Type Indicator, light theme screenshot

Network Type Indicator, light theme

Network Type Indicator, dark theme screenshot

Network Type Indicator, dark theme

VCS 1.13 released

An updated version of vcs is available to download. Shame on me for the long wait since this has been pretty much completed for months.

The biggest change this time is the "blank frame avoidance" feature, with which (mostly) blank frames will not be captured, if possible, this is one of the cool features found in mtn and worth stealing 🙂

Also worth noting is the ability to load profiles automatically. E.g. adding "profiles=white,mosaic" to your ~/.vcs.conf file will use both profiles. A new profile ("compact") is added, and a list of installed profiles can be obtained with $ vcs –profile :list.
The manual page is finished too.
Of course you'll have to download and install the full package instead of just the script to get the profiles and man page installed.

Other minor additions are the identification of captures from FRAPS and of course the usual batch of fixes and scheduled changes. FreeBSD users, and hopefully Mac OS X too though I can't check, can again use the script too.

Finally, please read «Features to be removed from VCS» if you have any interest in VCS' future versions.

See the full changelog for more details.

vcs 1.13 (script only)
or (script, sample configuration, manpage and profiles)
deb, rpm, PKGBUILD & bz2
as usual at

Features to be removed from VCS

There's some features in vcs I plan to remove to ease working on it's absurdly big code. I haven't seen them used in the wild except long ago, plus in my samples and manuals by others. I'm calling for your opinion, however, to know for sure if I should actually remove them or not. Use the comments section below or, preferably, email me at

Features marked for deletion:

nautilus-folow-symlink 1.2 released

I've just published an updated nautilus-follow-symlink, in case anyone is actually using it 😛

I've finally tested this version against both GNOME 2 and GNOME 3, and I'm also providing a variant to build against MATE's Caja (MATE is a fork of GNOME 2, and Caja its fork of Nautilus).

I've also written a version for Thunar, though that one I'm not publishing just yet.

This is pretty much a final version, I started looking for alternative desktops after GNOME 3 clashed with my brain, and as a consequence I've reduced my use of Nautilus considerably. I'll try to keep n-f-s buildable, but that's about it.

You can download the updated version as usually at
There's both sources and binaries for Debian Stable (i386 & ambd64) and Fedora 17 (i686).
Additionally there a binary package of caja-follow-symlink for LMDE (i386).

VCS 1.12.3 released

I haven't updated VCS in a while and somehow managed to keep this update ready but unreleased for months, so today I decided it was about time to get rid of it and be free to work on 1.13 😛

This is a minor update with a couple bugfixes, but most importantly, it marks the switch to bash 3; this means a lot of small changes to the code so you should update to 1.12.3 to test if it works correctly before I release future versions (eventually 🙂 with much more important changes.

Changes (excerpt):

  • Bugfix: Actually handle –ffmpeg and –mplayer [#169]
  • Bugfix: Correct parsing of -U [#187]
  • Switch to a minimum of bash 3.1 [#173]
  • Avoid re-capturing the same frame twice [#122]
  • Use getent instead of /etc/passwd when available
  • Bugfix/Internal: Don't use mplayer's length as a ceil for timecode removal [#174]

vcs 1.12.3 (script only)

or (script, sample configuration, manpage and profiles)

deb, rpm, PKGBUILD & bz2
as usual at

Relevation 1.1 released

A small update for Relevation.

It will now handle wrong passwords a bit more gracefully and it's also easier to use on Windows now.

Full list of changes:

  • Support cryptopy if PyCrypto is not available. Enhances cross-platform support.
  • Print an error message if the decryption produced wrong data (normally caused by a bad password)
  • Add PyCrypto/cryptopy to version info (--version)
  • Windows support enhancements:
    • Minimalistic GUI
    • Py2exe support
    • Packaging scripts
  • Fix $ make uninstall procedure

Relevation 1.1
or (zip includes PDF and HTML manpage)


New tool released: Relevation

I've just published a new tool I named 'Relevation'.

It's a command-line tool to access the passwords stored with the excellent Revelation Password Manager, which only provides a graphical interface.

I've been using the basis of my new tool on my computers for more than 4 years now and decided I might as well release it for others to use in case anyone else is interested.

It's is written in Python and has fairly simple dependencies, so it is easy to test and requires no compilation.

Its website is located at

Relevation 1.0:

deb package

Quick tip: Concatenating video files (with no quality loss)

Concatenation of video files can be done quickly from the command-line, video files must "match" (e.g. a movie formerly split into parts) i.e. they must use the same codec and parameters, this methods won't work as expected with random files.

  • AVI files: Use mencoder with multiple inputs
    $ mencoder -oac copy -ovc copy -o output.avi input1.avi input2.avi [...]
  • MPEG files: They can either be concatenated directly:
    $ cat input1.mpg input2.mpg > output.mpg
    Or the mencoder method, which I prefer, can be used (note the output format must now be set):
    $ mencoder -oac copy -ovc copy -of mpeg -o output.mpg input1.mpg input2.mpg [...]
  • Quirks and other formats:
    • The mencoder method won't work for multi-audio files
    • mencoder has worse support for other formats, they might require an intermediate transmuxing to avi.

I'll update this post if I find better ways or alternatives to do this.


Native flash plugin in 64 bits, Debian package

Adobe has had an awful track record with their Flash plugin as far as 64bits support go, forcing us to use 32 bits plugins. But since some time ago they re-booted their efforts with the Flash Player "Square" project, gaining *native* 64bits support in Linux, Mac OS X and Windows, albeit in a parallel unofficial developer release.

For those of you using Debian, Ubuntu or derivatives on the amd64 platform, I'm sharing here my packaging script which will generate a DEB package that should install (and uninstall) cleanly. I won't be sharing binary packages since this is non-free stuff but it should be easy enough to create them following these instructions.


This should generate a package named "mozilla-flashplugin-square-nonfree_10.3.d162.p3-out.1_amd64.deb", which you can install with 'dpkg -i'.

The plugin should be loaded on the next start of Firefox/Iceweasel, Mozilla/IceApe, Google Chrome, etc.