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/PerMsgStatus.pm

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

[1] https://askubuntu.com/questions/422264/how-to-debug-dpkg-configure-error-in-subprocess-post-installation#422697
[2] https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7404

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
facebook.com###pagelet_growth_expanding_cta
facebook.com###u_0_6

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:

#!/bin/sh
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 😉

[1] http://christoph.ruegg.name/blog/git-howto-revert-a-commit-already-pushed-to-a-remote-reposit.html

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:


#!/bin/bash
# updatePasswdStore.sh
SENSE=$2
ONE=1 # For getting singular/plural right (see below).
number=0 # Keeps track of how many files actually renamed.
EXPECTED_ARGS=4

if [ $# -ne $EXPECTED_ARGS -o \( "$1" != "--test" -a "$1" != "--force" \) ]
then
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
fi

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
fi

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

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

while read file;do
if [ "$1" = "--test" ]
then
echo "$file will be updated" # Dry run ...
else
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
fi
number=$(($number+1))
done < .temp

rm .temp

if [ "$1" = "--test" ]
then
if [ "$number" -eq "$ONE" ]; then # For correct grammar.
echo "$number file will be updated."
else
echo "$number files will be updated."
fi
if [ -f $4/.gpg-id ]; then
echo "New Key ID will be written into $4/.gpg-id"
fi
if [ -d $4/.git ]; then
echo "Changes will be committed and pushed ..."
git -C $4 status
fi
else
if [ "$number" -eq "$ONE" ]; then # For correct grammar.
echo "$number file updated."
else
echo "$number files updated."
fi
if [ -f $4/.gpg-id ]; then
echo $3 > $4/.gpg-id
echo "New Key ID is written into $4/.gpg-id"
fi
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
fi
fi

exit 0

Have fun!

[1] https://n0g.at/
[2] https://www.passwordstore.org/
[3] http://nerdbynature.de/s9y/2014/09/09/On-Password-Strength

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 😉

content management systems report

Again the question, which CMS should I learn or use for my pages? My colleague loves Joomla, and I prefer wordpress. He thought, that Joomla has a higher market share than wordpress … I haven’t agreed with him, so I searched for a trustful report. Here we are: w3techs has really good report!

w3techs CMS-Report

w3techs CMS-Report
gray: absolute usage / green: market share
Source: http://w3techs.com/technologies/overview/content_management/all

Oh, surprise WordPress is currently on top 😀

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!