Latex: change numbering style of figures/tables

put this in your preamble

% figures/tables should be labeled: 1,2,3,4,...



Latex: continuous numbering of tables/figures across chapters

put this in your preamble


Install Firefox Nightly binaries from Mozilla

Installation process is similar to the one for Thunderbird Daily (see this blog post).


  • binary download link:
    # wget "" -O firefox-nightly.tar.bz2
  • icon link:
    # wget -O ~/.icons/Mozilla-Firefox-Nightly-256.png
  • # cat ~/.local/share/applications/firefox-nightly.desktop
    [Desktop Entry]
    Name=Firefox Nightly
    GenericName=Web Browser
    Comment=Browse the Web
    Exec=firefox-nightly %u
    [Desktop Action new-window]
    Name=New Window
    Exec=firefox-nightly --new-window %u
    [Desktop Action new-private-window]
    Name=New Private Window
    Exec=firefox-nightly --private-window %u

Install Thunderbird Daily binaries from mozilla

Thunderbird Daily can be installed in most distros directly from their repos but more often than not it is outdated (they usually disable automatic updates). this can be circumvented by installing the binary directly from mozilla. the automatic update will then be enabled.

download the latest binary from and verify the download (checksum and gpg – for gpg you need mozilla’s key)

as of the time of writing the following script downloaded the binary and verified it:

$ mkdir ~/{bin,software}
$ cd ~/software
$ wget{tar.bz2,checksums,checksums.asc}
$ tar xvf thunderbird-57.0a1.en-US.linux-x86_64.tar.bz2
$ mv thunderbird thunderbird-daily

the verification process is not as smooth as it could be. this will do a sha512 checksum test

$ grep thunderbird-57.0a1.en-US.linux-x86_64.tar.bz2 thunderbird-57.0a1.en-US.linux-x86_64.checksums | grep sha512 - | awk '{print $1, $4}' - | sha512sum -c -

import pgp key from mozilla. then do signature check

$ gpg2 --verify thunderbird-57.0a1.en-US.linux-x86_64.checksums{.asc,} 

Update script in total



# download files
wget -q${RELEASE}.en-US.linux-x86_64.{tar.bz2,checksums,checksums.asc}

# check sha512 hash
grep thunderbird-${RELEASE}.en-US.linux-x86_64.{tar.bz2,checksums} | grep sha512 - | awk '{print $1, $4}' - | sha512sum -c -

# check gpg signature
gpg2 --verify thunderbird-${RELEASE}.en-US.linux-x86_64.checksums{.asc,} 

# extract, move, cleanup
tar jxf thunderbird-${RELEASE}.en-US.linux-x86_64.tar.bz2
mv thunderbird-daily{,OLD}
mv thunderbird{,-daily}
rm thunderbird-${RELEASE}.en-US.linux-x86_64.{tar.bz2,checksums.asc,checksums}

Now, create a file link:

$ ln -s $HOME/bin/thunderbird-daily $HOME/software/thunderbird-daily/thunderbird-bin

download the daily icon (no direct download link available):

create a desktop entry (include your home folder path!):

$ cat $HOME/.local/share/applications/thunderbird-daily.desktop
[Desktop Entry]
Name=Thunderbird Daily
Comment=Send and receive mails
GenericName=Mail Client
Exec=/home/paul/bin/thunderbird-daily %u

[Desktop Action ComposeMessage]
Name=Write new message
Exec=/home/paul/bin/thunderbird-daily -compose

[Desktop Action OpenAddressBook]
Name=Open address book
Exec=/home/paul/bin/thunderbird-daily -addressbook

git: find out which files are ignored and why

i had a very large global ignore list (tex/vim/linux/python specific stuff) and in this one repo git didnt add one specific folder. as it turned out the global ignore list blocked it.

to figure out which files are ignored:

$ cd <git-folder>
$ git ls-files --others -i --exclude-standard

and to figure out why one specific folder/file is ignored issue:

$ git check-ignore <path>

backups with rsnapshot

a centralized backup server can easily be set up with rsnapshot. This program can pull specified remote folders with rsync.

  1. install rsnapshot
  2. edit the config file /etc/rsnapshot.conf . The default config is well documented and one has only to modify the given lines. The man page is also of great help (link). I found the following to fit my needs (the path need should be adjusted to each one’s needs)
    config_version 1.2
    snapshot_root /mnt/USBBkupDisk/rsnapshot
    cmd_cp /bin/cp
    cmd_rm /bin/rm
    cmd_rsync /usr/bin/rsync
    cmd_ssh /usr/bin/ssh
    cmd_logger /usr/bin/logger
    cmd_du /usr/bin/du
    retain hourly 4
    retain daily 7
    retain weekly 4
    verbose 5
    loglevel 3
    lockfile /tmp/
    include_file /home/bkuper/DarkTower.include
    exclude_file /home/bkuper/DarkTower.exclude
    backup DarkTower:/home/paul/ paulTower/
    backup DarkTower:/data/paul/ paulTower/
  3. the in-/exclude files are the usual one from rsync , e.g. something like this:
    /home/paul/VirtualBox VMs

    one needs to note here, that the order of include/exclude files is important! the first pattern which matches a file takes effect.

  4. the user (here bkuper) needs to be able to sign into the client machine such that it can pull the backup. (ssh-copy-id…)
  5. the interval which were defined above (retain hourly 4 retain daily 7 retain weekly 4) will be applied with a cronjob:
    $ crontab -l
    # do hourly backups at 9,13,19,23h
    0 9,13,19,23 * * *         /usr/local/bin/rsnapshot hourly
    # do daily backups at 22:50
    50 22 * * *         /usr/local/bin/rsnapshot daily
    # do weekly backups at mondays 22:40
    40 22 * * 1         /usr/local/bin/rsnapshot weekly

RPi: automount USB drives via fstab

for mounting external usb drives one can use fstab. each column has its specific meaning (see here for definitions).

for external usb drives it is important to set some specific options:

  • auto: do automatic mounting
  • users: users can mount themselfs
  • nofail: dont expect that drive is attached at boot up
  • x-systemd.device-timeout=1: dont wait no longer than 1s for drive at boot up

full line looks like the following
$ cat /etc/fstab
UUID=ffd9b0a1-931f-4795-85ba-28c58719a938 /mnt/USBBkupDisk ext4 auto,rw,users,nofail,x-systemd.device-timeout=1 0 2