How to shrink VirtualBox image

Start VM and fill free space with zeros:

$ sudo dd if=/dev/zero of /zeros bs=1M

Stop VM and from host, locate VM disk image:

$ VBoxManage showvminfo VM_NAME | grep vdi

And finally:

$ VBoxManage modifyhd --compact "PATH-TO-FILE.vdi"

References

  • http://www.netreliant.com/news/8/17/Compacting-VirtualBox-Disk-Images-Linux-Guests.html

Mercurial useful commands

Remove files added by mistake

$ hg forget "set:added()"

Autofirma con firefox y DNIe

— [ edit | raw ]
sudo apt install pcscd pcsc-tools opensc-pkcs11

el paquete de AutoFirma para linux (http://firmaelectronica.gob.es/Home/Descargas.html)

y añadir el pkcs11 como dispositivo en tu firefox

Preferencias > Avanzado > Certificados > Dispositivos de seguridad >
Cargar: /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so

Construir paquetes debian con ian

Esto es una receta rápida para configurar y empezar a usar ian, una pequeña aplicación que simplifica algunos de los problemas habituales con los que se enfrenta cualquier mantenedor de paquetes Debian.

Essential git branching

— [ edit | raw ]

List (all) branches

$ git branch -a
* master
 origin/foo
 origin/bar

Change to a existing remote branch

Make the branch locally available:

$ git branch --track foo origin/foo
Branch foo set up to track remote branch foo from origin.

Move to local branch ‘foo’:

$ git checkout foo
Switched to branch 'foo'
Your branch is up-to-date with 'origin/foo.

Ultra simple tmux recipe

This is a new try to start using tmux. I am absolutly convenced about advantages of tmux, but for some strange reason, I am not able to learn its key combos…

I hope this recipe should be a way to have the very basic functions always at a glance.

Panes
horizontal split C-b %
vertical split C-b "
move cursor C-b {arrow}
close C-b x
maximize/minimize C-b z
Windows
create C-b c
change C-b {n}
Sessions
detach C-b d
attach tmux a
list tmux ls
kill tmux kill-session -t {n}

Config file

In your ~/.tmux.conf

set -g mouse on
setw -g monitor-activity on
set -g visual-activity on

eduroam en Android con certificado usando un QR code

El certificado raíz que utiliza la UCLM a día de hoy (13-12-2016) es DigiCert Assured ID Root CA .

La UCLM tiene instrucciones para conectar a eduroam con Android y también explica cómo utilizar un certificado, pero indica que hay que copiar el fichero a la memoria SD.

En lugar de eso, pongo aquí un código QR para descargarlo automáticamente:

qrcode

Plugins en Python

— [ edit | raw ]

Siempre me ha gustado escribir aplicaciones extensibles, pero picarme todo un sistema de plugins me ha parecido tedioso.

Por eso he intentado buscar librerías que me ayuden a crear plugins, aunque siempre he tenido problemas para la distribución de éstos, como me ha pasado con Yapsy.

La verdad es que me he sentido como un auténtico estúpido al descubrir que Python tiene un sistema para escribir plugins muy sencillo de usar. Vamos a ver cómo.

Puedes encontrar el artículo original en: MagMax Blog.

How to annotate/tag stdout and stderr outputs with bash

Lets create a test script test-std.sh:

#!/bin/bash --

echo info
echo error >&2

We will use sed to prepend some text to each output line. To perform redirection we use a less known feature called process substitution.

$ ./test-std.sh 2> >(sed 's/^/err: /g') > >(sed 's/^/out: /g')
out: info
err: error

And… it’s possible to use a different color to each of them too

How to revoke a GPG key

Generate revocation certificate:

gpg -o revocation.asc --gen-revoke F8025C91

Import the certificate to revoke the corresponding key:

gpg --import revocation.asc

Public the revoked key to servers:

gpg --keyserver pgp.mit.edu --send-keys F8025C91