Unwetterwarner für Linux

Gemäß dem Motto es gibt kein schlechtes Wetter, wenn man rechtzeitig gewarnt wird, habe ich das Unwetterwarner-Script, das man hier findet, ein wenig überarbeitet und ergänzt.

#!/bin/bash
notify_header="Wetterwarnungen für Coburg"
popup_icon=~/Bilder/Wetterwarnung.png
landkreis=COX
image_viewer=display # must be able to handle URLs
warning_url='http://www.dwd.de/dyn/app/ws/html/reports/'${landkreis}'_warning_de.html'
timeline_url="http://www.dwd.de/dyn/app/ws/maps/${landkreis}_timeline.png"
automode=false

if [ -n "$1" ]; then
    if [ "$1" == "auto" ]; then
        automode=true
    else
        i="$1"
        size=${#i}
        if [ "$size" -eq 3 ]; then
            landkreis=$1
            notify_header="Wetterwarnungen für "$landkreis
        else
            notify-send --icon=$popup_icon """ungültiger Landkreis""" "ungültiger Landkreis: $1"
            exit
        fi
    fi
fi

textstring=$(wget $warning_url -O -  | grep -i -e "warnung vor" -e "vorabinformation" | sed s/\<\\/p\>//g ) 

if [ "$textstring" = ""  ]; then
    notify-send --icon=$popup_icon """$notify_header""" "keine Warnungen vorhanden"
else
    notify-send --icon=$popup_icon """$notify_header""" """$textstring"""
    if [ "$automode" == false ]; then
        $image_viewer $timeline_url &
        # xdg-open $warning_url &
        sleep 4
        kill $!
    fi
fi

Wer das Script selber nutzen möchte, muss entweder die Variable landkreis entsprechend anpassen. Der Code für den jeweiligen Landkreis ist im Prinzip das KFZ-Kennzeichen, welches mit X auf 3 Stellen aufgefüllt wird. Es sei denn, das Kennzeichen enthält ein Ö oder Ü – die werden einfach durch OE bzw. UE ersetzt.

Für die Nutzung mittels Crontab übergibt man dem Script einfach als Parameter auto alle anderen Werte werden als Landkreis interpretiert, was ggf. zu Fehlern führt, wenn man einen ungültigen Wert übergibt.

Die aktuellste Version des Scriptes gibt es hier.

Pimp my backyard (Status-Update)

12 Pflanzsteine und 7 40-Liter-Säcke Blumenerde sowie etliche Liter Schweiß und Schimpf-Tiraden später sieht der ehemals sehr unansehnliche Hang am anderen Ende des Gartens schon viel hübscher aus:

Jetzt fehlen nur noch die Blumen für die Pflanzsteine und ein wenig Blumenerde, um den Rest des Hanges ein wenig aufzuhübschen.

Ach ja, und die Löcher für Fundamente der Schaukel könnte ich vielleicht auch mal komplett zuschütten. Ist im Moment ja eher provisorisch. 😎

Aber jetzt ist erst einmal Wochenende und vor Montag läuft in der Richtung nichts mehr 😉

Operation: Pimp my backyard

Was macht der geneigte Hausbesitzer, wenn der Frühling einem die Tür eintritt? Richtig! Er bringt den Garten auf Vordermann!

Nachdem also klein Leevke immer wieder sehnsüchtig in den leeren und ein wenig verwilderten Garten schaute, haben wir beschlossen, die Operation Pimp my backyard zu starten.

In Phase Eins wurde zuerst einmal der Rasen hinter dem Haus gemäht, vertikutiert und vom Moos befreit und der Grünschnitt anschließend fachgerecht auf dem Wertstoffhof entsorgt.

In Phase Zwei haben wird den im Keller gelagerten Sandkasten aufgebaut und mit Sand befüllt und mit ausreichend Equipment ausgestattet.

Als nächstes folgte Phase Drei (Rise of the Schaukel), der bislang umfangreichste Teil von OP Pimp my backyard. Zuerst musste das Gestell der Doppelschaukel montiert und an seiner endgültigen Position im Garten positioniert werden. Anschließend wurden 4 ca 40 cm tiefe Löcher für die Fundamente gegraben. Im Anschluss daran wurden die Füße des Schaukelgestells montiert und das Gestell an seine endgültige Position zurück gebracht. Im vorletzten Schritt wurden dann die vier Fundamente mit Ruck-Zuck-Beton gegossen und nachdem der Beton ausgehärtet war, die Löcher wieder mit Sand verfüllt. Zum Schluss noch die Schaukeln aufhängen und fertig.

Momentan läuft Phase Vier: Der entwas unansehnliche Hang am anderen Ende des Gartens soll mit ein paar Pflanzsteinen und viel Erde augeschüttet und aufgehübscht werden.

Eine Lanze für PGP/GPG

Die c’t fordert in ihrem aktuellen Editorial, das man PGP sterben lassen solle, da es technisch veraltet sei und neuen Ideen nur im Weg stehen würde.

Mal ganz abgesehen davon, das PGP momentan das einzige Verschlüsselungssystem für Mails ist, von dem bekannt ist, das sich die Nachrichtendienste daran die Zähne ausbeißen und bei dem man nicht auf irgendwelche mehr oder weniger vertrauenswürdige Zertifizierungsstellen angewiesen ist, halte ich viel mehr die Implementierung von PGP in aktuelle Mail-Clients gelinde gesagt für total scheiße.

Es wäre auch heute schon durchaus möglich, Mails mit PGP zu verschlüsseln, ohne das der Anwender ständig involviert werden muss:

  • PGP-Keys könnten bei der Einrichtung der Mail-Konten automatisch erzeugt und auf einen Keyserver hochgeladen werden, sofern sie noch nicht existieren und der User es wünscht.
  • Auf das Hinterlegen der Key-ID in den Kontoeinstellungen kann man genau so gut verzichten, indem man vor dem Absenden einer Mail im lokalen PGP-Keyring nach einem privaten Schlüssel für die Absender-Adresse schaut und diesen dann verwendet.
  • Beim Empfang einer verschlüsselten Nachricht wird automatisch im Hintergrund der öffentliche Schlüssel der Absenderadresse importiert und die Mail anschließend entschlüsselt.
  • Wenn im lokalen PGP-Keyring ein öffentlicher Schlüssel für die Empfängeradresse vorhanden ist, wird die Mail automatisch verschlüsselt.
  • Alternativ könnte vor dem Absenden einer Mail online geprüft werden, ob ein öffentlicher Schlüssel für die Empfängeradresse existiert. Wenn ja, wird der Key importiert und die Mail verschlüsselt.

Man könnte also durchaus PGP so in die Mail-Clients integrieren, das der Anwender außer bei der erstmaligen Erzeugung des PGP-Keys für eine Mail-Adresse es gar nicht bemerkt. Wenn man es denn wollte …

Oder um es etwas technischer zu formulieren: PGP ist im Grunde nur ein Framework für die Verschlüsselung von Daten, das bislang nur lieblos in die Mail-Clients integriert wurde, weil die Entwickler nicht willens oder in der Lage waren, sich die Perspektive der Endanwender zu versetzen.

gpg Schlüsselbund mit systemd regelmäßig aktualisieren

Neben dem klassischen Crontab bietet seit einiger Zeit auch systemd mittels so genannter Timer die Möglichkeit, Aufgaben regelmäßig auszuführen.

Wenn man beispielsweise seinen gpg Schlüsselbund regelmäßig aktualisieren möchte (was dringend zu empfehlen ist), dann kann man dies entweder mittels crontab erledigen, oder man nutzt systemd’s Timer für die Aufgabe.

Dafür muss man zuerst unter ~/.config/systemd/user/ eine systemd Unit gpg-update.service mit folgendem Inhalt anlegen:

[Unit]
Description=Update keys in local keyring

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/gpg --refresh-keys

[Install]
WantedBy=basic.target

Als nächstes wird im selben Verzeichnis noch der systemd Timer gpg-update.timer mit folgendem Inhalt angelegt:

[Unit]
Description=Update keys in local keyring
 
[Timer]
OnCalendar=hourly
Persistent=true
Unit=gpg-update.service
 
[Install]
WantedBy=gpg-update.service

In diesem Beispiel wird der Timer stündlich ausgeführt. Es kann jedoch auch ein anderes Interval verwendet werden.

Im nächsten Schritt wird dann noch der neu angelegte Timer aktiviert und gestartet

systemctl --user enable gpg-update.timer
systemctl --user start gpg-update-timer

Um zu prüfen, ob alles wie gewollte funktioniert hat, kann man dies mit folgendem Befehl überprüfen:

systemctl --user status gpg-update.timer

Sollte im Status des Timers unter dem Punkt Active nicht active (waiting) stehen, sollte man mittels journalctl -xe einen Blick in das Journal werfen um der möglichen Fehlerursache auf die Schliche zu kommen.

Warum ich meine Twitter-Timeline filtere

In den sozialen Netzwerken bin ich mit vielen interessanten Leuten verbunden, deren Mitteilungen ich in aller Regel gerne lese.

Da es jedoch bei der schieren Masse an Mitteilungen, die da so den Tag über durch die jeweiligen Newsstreams rauschen, irgendwann zu so etwas wie einem Information-Overflow kommen würde und weil ich Leute nicht wegen ein paar (für mich) irrelevanter Mitteilungen aus meinen Netzwerken werfen möchte, versuche ich, dort wo es geht, irrelevante Themen von vornherein auszufiltern.

Das hört sich jetzt dramatischer an, als es ist. Für Twitter nutze ich beispielsweise Corebird als Client, da dieser eben eine Möglichkeit zum Filtern bietet, welche ich auch nutze. Dennoch sieht meine Filterliste noch sehr überschaubar aus:

Corebird-Filterliste

Im Grunde filtere ich nur Tweets zu (für mich) irrelevanten TV-Formaten oder Veranstaltungen, sowie Nachrichten, die von irgendwelchen Diensten oder (Web-)Anwendungen automatisch gepostet werden, aus.

Zusätzlich habe ich aber noch einen Filter, der sicherstellen soll, das Mitteilungen von Personen, die ich eigentlich geblockt habe, nicht doch durch das Zitieren der Personen in meiner Twitter-Timeline landen.

So aus der Hüfte würde ich mal schätzen, das pro Tag vielleicht 1% der Tweets aus meiner Twitter-Timeline ausgefiltert werden. Wenn überhaupt.

Es wird allmählich langweilig!

In Paris ermorden zwei religiös fanatisierte Vollidioten einen Polizisten sowie mehrere Journalisten, die für ein Satire-Magazin gearbeitet haben, das in der Vergangenheit schon jeder Religion mindestens einmal kräftig ans Bein gepinkelt hat.

Und das einzige, was den Damen und Herren Innenministern Land auf, Land ab einfällt, ist noch mehr Schleifen von Bürger- und Freiheitsrechten und noch mehr Totalüberwachung? Seriously??

Das ist ja schon fast so, als würde man ankommende Asylbewerber in einer ehemaligen KZ-Aussenstelle unterbringen wollen … oh … wartet!