Category Archives: how2do

spamassassin troubles

I’ve got problems with updating my spamassassin and sa-compile to version 3.1.4-7
If you got also this post-installation error messages …

dpkg: error processing package spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of sa-compile:
sa-compile depends on spamassassin; however:
Package spamassassin is not configured yet.

… then you have to enable the shell of the debian-spamd user to get rid of this error [1]!

Afterwards you will get the following error:

Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <-- HERE in m/^(.{ <-- HERE ,200}).*$/ at /usr/share/perl5/Mail/SpamAssassin/

So you should get the newest Revision of and you will be fine [2]!


facebook login/signup popup

No, I don’t want to login every time into facebook when I want to have some information of those fancy facebook pages – nowadays a lot of restaurants and bars are posting their menu and info only on facebook 😕 It is really annoying … approx. 25% of the screen is this f****** banner:

figar1040 info with login banner

So, I was looking for a possible solution for firefox or chrome … and here we are. uBlock Origin helps a lot 😉 Under My Filters add those lines and you are good to go …

! Remove Facebook Log In / Sign Up banner

Thanks to Ken Ny’s Post on block011!

vmware module for 12.5.2 and linux 4.9.6-1-ARCH

here we are again,

vmware modules need some tweaks again … here you will find a quick and easy patch.
in short, you have to fix some conditions:

cd /usr/lib/vmware/modules/source
tar xf vmmon.tar
mv vmmon.tar vmmon.old.tar
sed -r -i -e ‘s/KERNEL_VERSION\(4, 6, 0\)/KERNEL_VERSION\(4, 9, 0\)/g’ vmmon-only/linux/hostif.c
sed -r -i -e ‘s/retval = get_user_pages\(\(unsigned long\)uvAddr, numPages, 0, 0, ppages, NULL\);/retval = get_user_pages\(\(unsigned long\)uvAddr, numPages, 0, ppages, NULL\);/g’ vmmon-only/linux/hostif.c
tar cf vmmon.tar vmmon-only
rm -r vmmon-only
tar xf vmnet.tar
mv vmnet.tar vmnet.old.tar
sed -r -i -e ‘s/KERNEL_VERSION\(4, 6, 0\)/KERNEL_VERSION\(4, 9, 0\)/g’ vmnet-only/userif.c
sed -r -i -e ‘s/retval = get_user_pages\(addr, 1, 1, 0, \&page, NULL\);/retval = get_user_pages\(addr, 1, 0, \&page, NULL\);/g’ vmnet-only/userif.c
tar cf vmnet.tar vmnet-only
rm -r vmnet-only

thanks “digger” for all the fish!

revert a git commit to a remote repository

Hey folks,

have you ever been too fast at committing and pushing to a remote git repo? maybe … you think. Git allows you to revert your pushed commit very easily. BUT don’t forget to save your changes, if you want to recall the good work there. I found a very good explanation how to do it [1].

In short you can delete your last commit by executing following commands:

git reset HEAD^ --hard
git push -f

Be fast and don’t forget to backup 😉


password manager

I was searching for a new password manager for all my devices and even the server. Thanks to Matthias Fassl [1], he pointed out a cool tool “passwordstore” [2].
Keep it simple stupid, but handy enough to manage all the desired passwords and secrets. In combination with some kewl password generators like “pwqgen” [3] it is really easy to manage a bunch of passwords.

And if you regularly change your private key, here is a useful script for updating the whole vault:

ONE=1 # For getting singular/plural right (see below).
number=0 # Keeps track of how many files actually renamed.

if [ $# -ne $EXPECTED_ARGS -o \( "$1" != "--test" -a "$1" != "--force" \) ]
echo "NAME"
echo -e "\tupdatePasswdStore - Updating gpg encrypted Password files with new key\n"
echo "Synopsis"
echo -e "\t`basename $0` --force|--test FILEPATTERN NEWKEY pathname\n"
echo "Examples"
echo -e "\t`basename $0` --test gpg F52048C0C0748FEE227D47A2702353E0F7E48BDB /home/user/.passwordstore"
echo -e "\t\tonly shows which files will be updated in the directory /home/user/pwds\n"
echo -e "\t`basename $0` --force gpg DEEC310D4A6F392BF313FCDAC631EB6EFBD889B5 /home/user/.password-store"
echo -e "\t\tencrypting the files with \"gpg\" in the directory /home/user/.password-store with the new key\n"
exit 1

n=`gpg -K $3`
if [ -z "$n" ]; then
echo "$3 is no valid secret key! You wouldn't be able to decrypt your passwords :-("
exit 2

if [ -d $4 ]; then
echo "Searching for files with \"$SENSE\" in $4 ..."
echo "Directory $4 doesn't exist!"
exit 3

files=$(find $4 -name *$2* | grep -v ".gpg-id" > .temp)

while read file;do
if [ "$1" = "--test" ]
echo "$file will be updated" # Dry run ...
echo "Updating $file with new key ..."
gpg -d $file > tempfile
gpg -e -r $3 --batch --yes --encrypt tempfile # Do the actual encryption!
mv tempfile.gpg $file
rm tempfile
done < .temp

rm .temp

if [ "$1" = "--test" ]
if [ "$number" -eq "$ONE" ]; then # For correct grammar.
echo "$number file will be updated."
echo "$number files will be updated."
if [ -f $4/.gpg-id ]; then
echo "New Key ID will be written into $4/.gpg-id"
if [ -d $4/.git ]; then
echo "Changes will be committed and pushed ..."
git -C $4 status
if [ "$number" -eq "$ONE" ]; then # For correct grammar.
echo "$number file updated."
echo "$number files updated."
if [ -f $4/.gpg-id ]; then
echo $3 > $4/.gpg-id
echo "New Key ID is written into $4/.gpg-id"
if [ -d $4/.git ]; then
echo "Changes will be committed and pushed ..."
git -C $4 commit -a -m "New Key was applied!"
git -C $4 push

exit 0

Have fun!


eclipse mars too slow

hey folks,

it is very annoying to work on a lame IDE … eclipse mars was really lame, but after defining the proper GTK launcher, it works again 🙂
Only add the

--launcher.GTK_version 2

to the eclipse.ini and the speed is cool again!

Sonos and Linux

Hey folks,

I like my Sonos, it is a gorgeous Soundsystem! Especially the multiroom function works like a charm. It is indeed a smart speaker system 😉
But, there are two things I don’t like at all: First, there is no Linux client. Second, is it not quite easy to play music from any device on the Sonos speakers.

The first problem I’ve solved with help out of the Sonos community forum. By the way I was introduced to a quite nice feature of the chrome/chromium browser, this could be very handy also for other applications.
Here is a easy going how-to for controlling your Sonos system out of a Linux machine:

  1. Install the ARC Welder app in your chromium browser
  2. Search for the newest Sonos Android App at Google Playstore
  3. Download the newest APK from the APKMirror (check the version with the one you got from the second step)
  4. Install the downloaded APK in the ARC Welder
  5. Start the Sonos App

I’ve also linked the Sonos App to my Desktop – it works like a charm 😉

retrieve javadoc with wget

hey folks,

sometimes the API documentation is not provided in a downloadable format, so I was a little bit frustated … here is a easy wget command to download the API from a URL:

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --domains DOMAIN --no-parent http://DOMAIN/javadocs/

I’ve found it here!

Resizing linux filesystem without lvm


if you need to resize your virtual harddisk in your virtual guest system and you are not using LVM, then this tutorial may help you: Extending a root filesystem in Linux without LVM

Here are the important steps for fast forward how-to:

  1. expand harddisk in vmware
  2. reallocate partition table with fdisk and restart your guest
  3. resize it with resize2fs

Be aware that fdisk takes the same starting block, otherwise you will mess up your partition table!

Happy working 😉