planet.debianforum.de

der Planet der debianforum.de-Benutzer

Zum Inhalt


 
 
 

18.01.2021

Joerg Kastning (Tronde)

Mit Dokumentation zum Datenverlust

Wie ihr sicher gemerkt habt, beschäftige ich mich im Rahmen eines Wochenend-Projekts mit „Kanboard im Container…“ im Speziellen und Linux-Containern im Allgemeinen. Die Einrichtung von „Backup und Restore im Kanboard-Container-Land“ liegt bereits hinter mir. Und das ist gut so, habe ich doch nun den ersten Datenverlust erlitten und musste meine Daten wiederherstellen.

Die etwas unglückliche Verkettung von Umständen, welche zum Datenverlust führten, möchte ich in diesem Artikel festhalten, so dass euch diese Erfahrung erspart bleiben kann.

Die Vorgeschichte

Da Container zustandslose Gebilde sind, nutze ich podman volumes, um die anfallenden Daten persistent zu speichern.

Als Einsteiger in die Thematik habe ich mich an der offiziellen Container-Dokumentation von Red Hat entlang gehangelt und bin den Anweisungen in Kapitel 3.4. Sharing files between two containers gefolgt. Dort wird beschrieben, wie man den Volume-Pfad einer Variablen zuweist, welche später verwendet wird, um das Volume über den Pfad in den Container einzuhängen.

Da ich es nicht besser wusste, bin ich der Anleitung Schritt-für-Schritt gefolgt. Dies führte zu einer funktionierenden Konfiguration, in der meine Daten persistent gespeichert wurden.

Kommando ‚podman volume prune‘ und die Daten waren weg

Am Ende meiner Spielerei wollte ich das Spielfeld bereinigen. Dabei bin ich auf das Kommando podman volume prune gestoßen, welches laut podman-volume-prune(1) alle Volumens entfernt, die sich nicht in Verwendung befinden. Dies klang nach genau dem Befehl, nach dem ich gesucht habe.

TL;DR: Nach der Ausführung des Kommandos waren meine Volumes weg. Auch jene, die aktiv in laufenden Container-Instanzen eingehängt waren.

Die Analyse

Nach ein paar Tests und einer Internetrecherche stand die Ursache für das Verhalten fest. Diese ist im GitHub Issue #7862 dokumentiert und besagt, dass podman volume prune in Verwendung befindliche Volumes löscht, wenn diese über ihren Pfad und nicht über ihren Namen eingehängt wurden. Da ich wie oben beschrieben der Dokumentation von Red Hat strikt gefolgt bin, welche aber genau den Pfad und eben nicht den Namen verwendet, waren Ursache und Erklärung für den Datenverlust gefunden.

Die Folge

In Folge meiner Erfahrungen habe ich zwei Anfragen zur Produktverbesserung (englisch: Request For Enhancement oder kurz RFE) gestellt:

  1. Bug 1914096 – Needs improvement: Building, running, and managing containers: 3.4. Sharing files between two containers
  2. RFE: Let `podman volume prune` show the volumes that are going to be removed

Die erste Anfrage ist an Red Hat adressiert, mit der Bitte, in der Dokumentation den Volume-Namen an Stelle des in einer Variablen gespeicherten Volume-Pfades zu benutzen. Damit sollte verhindert werden, dass andere, die der Dokumentation folgen, die gleichen Erfahrungen wie ich machen müssen.

Als Ziel wird die Veröffentlichung von RHEL 8.4 anvisiert. Dieses Release sollte im Mai bzw. Juni 2021 erscheinen. Ich bin gespannt. Ich würde mich über eine frühere Aktualisierung der Dokumentation freuen.

Die zweite Anfrage richtet sich an das Upstream-Projekt. Sie beinhaltet den Vorschlag, podman volume prune (um eine Option) zu erweitern, so dass die Liste der zu löschenden Volumes angezeigt wird, bevor man die Entfernung bestätigt. Stand 17.01.2021 existiert bereits ein Pull-Request, welcher dieses Thema adressiert.

Meinen Artikel „Kanboard im Container…“ habe ich entsprechend angepasst, so dass auch dort die Volumen-Namen zum Einhängen verwendet werden und nicht die Volume-Pfade.

Alte Erkenntnis bestätigt

Dieses Beispiel zeigt wieder einmal sehr deutlich, wie wichtig eine funktionierende Datensicherung ist. Denn sie ist die zwingende Voraussetzung, um im Fehlerfall Daten auch wiederherstellen zu können. Daher kann ich nur jedem raten, ein entsprechendes Datensicherungs- und Wiederherstellungs-Konzept zu implementieren, bevor man Daten in eine Anwendung tut, die einem am Herzen liegen oder von denen die Zukunft des Unternehmens abhängt.

Zum Stöbern führe ich im Folgenden einige Artikel aus diesem Blog auf, welche sich mit dem Thema Backup befassen:

  • Backup und Restore im Kanboard-Container-Land
  • Mit einem Reverse-SSH-Tunnel zum Offsite-Backup
  • Backup, Backup, Backup – Von den Vorteilen einer Datensicherung
  • Dateibackup mit der Systemrescue-CD

von Jörg Kastning am 18.01.2021 07:00


16.01.2021

Steffen Rumberger (inne)

JWE #1

Monster ist ein relativer Begriff. Für einen Vogel ist eine Katze ein Monster. Wir sind es nur gewohnt, die Katze zu sein.
– Dr. Henry Wu

16.01.2021 02:47


15.01.2021

Stephan Tetzel (zefanja)

Neue GUI für LINBO

LINBO ist eines der wesentlichen Features von linuxmuster.net – einer freien Schulserverlösung. Mit LINBO kann man viele PCs oder Laptops einfach und in wenig Zeit verwalten. Es hilft den administrativen Aufwand, den man mit vielen Geräten hat, in Grenzen zu halten. Viele Prozesse lassen sich zu dem automatisieren, sodass man fast alle Aufgaben, wie z.B. ein neues Image verteilen, aus der Ferne erledigen kann. Mit Version 7 hat linuxmuster.net ein neues & modernes Webinterface bekommen, einzig LINBO sah man das Alter mit seiner alten Benutzeroberfläche an. Doch damit scheint jetzt bald Schluss zu sein, denn eine neue GUI für LINBO befindet sich in der Testphase. Seht selbst.

Installation

Wer linuxmuster.net an der Schule bereits einsetzt und die neue GUI testen möchte (sie ist noch nicht für den produktiven Einsatz gedacht!), muss die „testing“-Paketquelle einrichten. Man öffnet die Datei /etc/apt/sources.list.d/lmn7.list und ändert die Einträge wie folgt ab:

deb https://archive.linuxmuster.net lmn7-testing/
deb-src https://archive.linuxmuster.net lmn7-testing/

Danach kann man nach einem „apt update && apt upgrade“ die neue GUI für LINBO installieren:

$ apt install linuxmuster-linbo-gui7

Fertig.

Neue Optionen für die start.conf

Mit der neuen GUI gibt es auch ein paar neue Optionen für die start.conf Datei, die man manuell oder im Webinterface einstellen kann. Da alles noch in der Entwicklung ist, können sich diese Parameter aber noch ändern:

UseMinimalLayout = yes
Locale = en-US
BackgroundColor = 0c2842

Man kann also neben der Hintergrundfarbe auch die Sprache einstellen. UseMinimalLayout = yes sorgt dafür, dass LINBO in mit einer minimalistischen GUI startet (die aber sehr schick aussieht, siehe Screenshots).

Screenshots

Linbo Bootscreen LINBO Standard Layout (hell) LINBO Standard Layout (dunkel) LINBO Minimalistische GUI LINBO Admin Menü Client registrieren Neues Image erstellen LINBO Terminal Betriebssystem synchronisieren

Fazit

Mir gefällt die neue GUI sehr. Sie sieht toll & modern aus und lässt sich gut bedienen. Vielen Dank an Dorian Zedler!

2 Kommentare

Der Beitrag Neue GUI für LINBO erschien zuerst auf .:zefanjas:..

von zefanja am 15.01.2021 05:16


11.01.2021

Joerg Kastning (Tronde)

Reverse-Proxy für Kanboard im Container

Im folgenden möchte ich kurz die Konfiguration dokumentieren, mit der ich Ziel 4 aus „Kanboard im Container…“ umgesetzt habe.

Zuerst habe ich meinen Pod mit dem Kanboard- und dem Posgresql-Container erstellt:

$ cat create-kanboard-pod.sh 
#!/bin/bash
kanboard_data=$(podman volume inspect kanboard_data --format {{.Mountpoint}})
kanboard_plugins=$(podman volume inspect kanboard_plugins --format {{.Mountpoint}})
kanboard_ssl=$(podman volume inspect kanboard_ssl --format {{.Mountpoint}})
pgsql_data=$(podman volume inspect pgsql_data --format {{.Mountpoint}})
podman run -d --pod new:kanboardpod --name kanboard -p 127.0.0.1:8080:80 -v $kanboard_data:/var/www/app/data:Z -v $kanboard_plugins:/var/www/app/plugins:Z kanboard/kanboard
podman run -d --pod kanboardpod --name pgsql_db -e POSTGRESQL_USER=root -e POSTGRESQL_PASSWORD=SuperGeheimesPasswort -e POSTGRESQL_DATABASE=kanboard -v $pgsql_data:/var/lib/pgsql/data:Z rhel8/postgresql-96

Als Reverse-Proxy nutze ich nginx, welchen ich mittels sudo dnf -y install nginx installiert habe. Die Konfigurationsdatei /etc/nginx/nginx.conf habe ich wie folgt ergänzt:

    server {
        listen 80;
        listen [::]:80;
        server_name kanboard.beispiel.de;
        return 301 https://kanboard.beispiel.de$request_uri;
    }

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name kanboard.beispiel.de;

        ssl_certificate "/etc/letsencrypt/kanboard_fullchain.cer";
        ssl_certificate_key "/etc/letsencrypt/kanboard.beispiel.de.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        location / {
            proxy_pass http://127.0.0.1:8080;
        }
    }

Damit nimmt der NGINX Anfragen auf den TCP-Ports 80 und 443 an, wobei ein Redirect von Port 80 auf 443 erfolgt. Diese Anfragen leitet der NGINX an den TCP-Port 8080 des Kanboard-Pods weiter.

Die Erneuerung des SSL-Zertifikats habe ich nach dem Tutorial „Let’s Encrypt: Nutzung des DNS-Alias-Modus mit dem acme.sh-Client“ automatisiert.

von Jörg Kastning am 11.01.2021 07:00


08.01.2021

Sabine Becker (AtariFrosch)

Verleser 2020

Ab und zu gibt's tatsächlich mal was zum Lachen. Nämlich dann, wenn ich mal wieder nicht so ganz fit bin und mein Gehirn Gelesenes auf … interessante Weise interpretiert. Diese Verleser sammle ich, wenn möglich, und einmal im Jahr gibt's dann die ganze Dröhnung:

07.01.2020 Datenschützerin beantragt Kennzeichenfahndung Datenschützerin beanstandet Kennzeichenfahndung auf Autobahnen Brandenburgs Heise Newsticker
11.01.2020 Interessante Erbsenfotos Interessante Erdbebeninfos im Thread Tweet von @theRosenblatts
19.02.2020 Morgen beginnt der Straßenkampf! Ab morgen beginnt der 🎉Straßenkarneval🎊 in Düsseldf Tweet von @OpenDataDdorf
29.02.2020 This sculpture of Modern Talking … This sculpture at the Tate Modern blew my mind this week. […] Tweet von @helenleigh
27.03.2020 kack a little while 15:55:37 <fsmithred> afk, back in a little while in #devuan auf Freenode
08.04.2020 Kontrolle außerirdischer Investitionen Regierung will Kontrolle ausländischer Investitionen verschärfen Tweet von @heiseonline
08.04.2020 Nichtsdestotrotzingen POL-UL: (HDH) Niederstotzingen - Auto wieder da, Diebe fehlen noch […] Polizeiticker
08.04.2020 Süße Beifahrerin POL-UL: (GP) Süßen - Beifahrerin schwer verletzt Polizeiticker
11.04.2020 Fritz unter Gedanken POL-KS: Fritzlar-Ungedanken (Schwalm-Eder-Kreis): Mehrfamilienhaus nach Brand nicht mehr bewohnbar; Polizeiticker
12.04.2020 ein Anwesen im Coronavirusweg … versuchte ein 33-Jähriger in ein Anwesen im Gervinusweg einzubrechen … Polizeiticker
17.04.2020 You have no enemies. [15:57:07] -*notes- You have no entries. Mitteilung vom IRC-Bouncer nach Login.
20.04.2020 see the magic logfile For other details, see the local mail logfile Fehlermeldung von postfix
08.05.2020 der kritische Premierminister In einem Telefonat haben Kanzlerin #Merkel und der britische Premierminister @BorisJohnson die […] Tweet von @RegSprecher
12.05.2020 Ihr anständiges Wohnsitzfinanzamt Ihr zuständiges Wohnsitzfinanzamt Briefkopf eines Schreibens von der Oberfinanzdirektion NRW
14.05.2020 arglistiges Verhalten apt-listchanges: […] Subject einer Admin-Mail nach einem dist-upgrade
15.05.2020 Der Moment, wenn der Backofen wirkt Der Moment, wenn das Baclofen wirkt Tweet von @fraeuleinwusel
20.05.2020 Das Teil hat nicht nur einen Katzenslot, … Das Teil hat nicht nur einen SD-Kartenslot, … Katzenjens auf Pluspora
21.05.2020 dns insults dnsutils Aus einer Meldung von Cron-Apt
28.05.2020 10 #Backpfeifen auf den Weg gebracht […] wie 10 #Backpakete auf den Weg gebracht werden... Tweet von @sorgeweniger
28.05.2020 Das #Feuer ist beschädigt. Das #Feuer ist bestätigt. Tweet der Feuerwehr Düsseldorf
28.05.2020 schlägt es uns auf die Fresse […] verschlägt es uns nach Italien auf die "Terasse am Meer". Tweet des 1. AO Rheinhausen
18.06.2020 #Selbstzerstörung in Hamburg #Stellwerksstörung in Hamburg Tweet der @DB_Info
19.06.2020 #liegengebliebener Flieder #liegengebliebener Bauzug bei Flieden Tweet der @DB_Info
19.06.2020 Unsere #Klimaanlage hat heute eine erste Hürde genommen Unsere #Klimaklage hat heute eine erste Hürde genommen […] Tweet von Luisa Neubauer
20.06.2020 Vor Allem haben dann alle die Schwanzlizenz... Vor Allem haben dann alle die Schwanklizenz... Tweet von Tom Teichler
27.06.2020 Die Züge des Fernverkehrs sind tot. Die Züge des Fernverkehrs setzen ihre Fahrt fort. Tweet von @DB_Info
27.06.2020 Durch die Onaniestraße rollt immer noch Autoverkehr, Durch die Oranienstraße rollt immer noch Autoverkehr, Tweet von @RadXhain
02.07.2020 Es gibt wieder Schallplatten Wie bereits letztes Jahr, gibt es auch dieses Jahr wieder die #Schulpaten die wir in #Bildungspaten umbenannt haben. Tweet von @sorgeweniger
07.07.2020 erledige dann Paprika Aber stattdessen wasche ich jetzt ab, erledige dann Papierzeug und packen. […] Tweet von @Skamp_Anders
07.07.2020 Hamburg: Polizei nutzt Corona-Kontaktlinsen nach Straftat Hamburg: Polizei nutzt Corona-Kontaktlisten nach Straftat Tweet von @kooptech
07.07.2020 95%-Prädikatsintervall: 7-Tage-R = 0,84 95%-Prädiktionsintervall: [0,76 - 0,92] Tweet von @rki_updates
09.07.2020 Ich bitte Tattoos zu entschuldigen. Ich bitte Typos zu entschuldigen. Tweet von @AlexSchestag
14.07.2020 Auf den Linien 780 und 781 kann es noch vereinzelt zu Verstörungen kommen. Auf den Linien 780 und 781 kann es noch vereinzelt zu Verzögerungen kommen. Tweet von @Rheinbahn_Info
15.07.2020 Rennsellerie Rennserie mit Elektrorollern. Tweet von @stiefkind
22.07.2020 Mammut cloud Mammatus cloud formations near Doboj, Bosnia and Herzegovina on Sunday. Tweet von @severeweatherEU
26.07.2020 Ich bin ein Trottel, Ich bin Neil Trotter, Beginn einer Spam-Mail.
28.07.2020 Heilige #Gewitter Heftige #Gewitter aktuell im südlichen #Bayern. […] Tweet von @uwz_de
28.07.2020 Haltet die Fresse Hätte die Presse z. B. nicht […] Tweet von @AlexSchestag
30.07.2020 Historischer Kopfeinbruch in den USA Historischer Konjunktureinbruch in den USA Tweet von @tagesschau
04.08.2020 Flugzeugabsturz in China Fahrzeugabsatz in China steigt im Juli laut vorläufigen Daten Tweet von @heiseautos
26.08.2020 Foxit Studio Photo für Windows: Neue Version gegen Schwachsinn Foxit Studio Photo für Windows: Neue Version gegen Schwachstellen abgesichert Tweet von @heisec
27.08.2020 … die kurz zuvor an Popcorncomputern in Hessen abgerufen worden … … die kurz zuvor an Polizeicomputern in Hessen abgerufen worden sind… Affäre um rechtsextreme Drohmails weitet sich aus
29.08.2020 Meine Oma hat die jetzige Home Office Lösung bis Ende 2020 verlängert. Meine Firma hat die jetzige Home Office Lösung bis Ende 2020 verlängert. Tweet von @NiemalsD
02.09.2020 Selbstzerstörung in Iphofen Stellwerksstörung in Iphofen Tweet von @DB_Info
03.09.2020 Instant-Misantropensuppe 😅 Egal, ich hab noch ein paar Sorten für Experimente. Und Instant-Misosuppe 😅 Tweet von @FrauMaja
04.09.2020 Die Arbeiten für unsere schmale Internetverbindung […] Beep Bop 🤖 Die Arbeiten für unsere schnelle Internetverbindung gehen voran. 📡 Tweet von Entropia e.V.
04.09.2020 User hostname: localhost Handmalerin User hostname: localhost.localdomain aus einer Status-Mail von Wordfence
22.09.2020 Ein Bananenskandal folgt dem Nächsten. Ein Bankenskandal folgt dem Nächsten. Tweet von Daniel Drepper
23.09.2020 Wo sind jetzt eigentlich die ganzen Ballonklatscher, Wo sind jetzt eigentlich die ganzen Balkonklatscher, wo Menschen mit systemrelevanten Berufen mehr Geld fordern? Tweet von @journelle
26.09.2020 #Wöller will die SokoLinux vergrößern, Auch mal deutlich formulieren: #Wöller will die SokoLinx vergrößern, der Widerstand muss aufstocken. Tweet von Jürgen Kasek
26.09.2020 längst verloren geglaubte Handtücher In der Schweiz sind kürzlich längst verloren geglaubte Handbücher für die Zuse Z4 aufgetaucht: Diaspora-Post von Wolfgang Stief
16.10.2020 *streichelt die maultasche* *streichelt die mateflasche* Tweet von @fhainalex
20.10.2020 Wirksamkeit von Pflege-Flauschbeträgen Wirksamkeit von Pflege-Pauschbeträgen Antwort der Bundesregierung auf die Kleine Anfrage der Abgeordneten […] und der Fraktion BÜNDNIS 90/DIE GRÜNEN– Drucksache 19/22858 –Wirksamkeit von Pflege-Pauschbeträgen- (PDF)
23.10.2020 Bei seinem zweiten Restaurantbesuch in Ungarn kommt es bei Budaörs zu einem Schnitzel Bei seinem zweiten Restaurationsversuch in Ungarn kommt es bei Budaörs zu einem Scharmützel Wikipedia-Seite zum 23. Oktober
27.10.2020 Bund-Länder-Gespräche: Wie stark wird heruntergeladen? Bund-Länder-Gespräche: Wie stark wird heruntergefahren? Tweet von @tagesschau
27.10.2020 So mache ich #Capybara So mache ich #Carbonara Tweet von Sascha Kaupp
02.11.2020 D'Argo und Physio beide in einer Mail darauf hingewiesen, … Ergo und Physio beide in einer Mail darauf hingewiesen, … Tweet von Fusselchen
(ja, Farscape prägt ;-))
05.11.2020 Intensivtäter: "An der Belastungsgrenze" Intensivstationen: "An der Belastungsgrenze" Tweet der Tagesschau
06.11.2020 Was bedeutet die schneller werdende Keramik … Was bedeutet die schneller werdende Kameratechnik für Kreative? Tweet von Canon Deutschland
06.11.2020 Smartes Witzsystem Wiz: Smartes Lichtsystem Tweet von @heiseonline
06.11.2020 Gewerbenieten TOP 31, ZP 9 Gewerbemieten in der Corona-Krise Mitteilung des Deutschen Bundestages
11.11.2020 Voll Arabisch Volkmar Kabisch, NDR Korrespondent zu einem Tagesschau-Beitrag
13.11.2020 Neues aus #Dortmund. Das @proGIreg Rollator … Neues aus #Dortmund. Das @proGIreg Reallabor hat … Tweet von @naturfelder
13.11.2020 One for covid fan @CaledonianVapes 👍👍. One for corvid fan @CaledonianVapes 👍👍. Tweet von @TheFarrierPhil
14.11.2020 Du sollst nicht mit Mutti Du scrollst dich durch #ffm1411 Tweet von @eBorn71
15.11.2020 chance auf ne abschaltpizza ok immerhin hab ich dann gleich endlich die chance auf ne altstadtpizza Tweet von @byte_jra
20.11.2020 Ich hole in letzter Zeit öfter meine Nichten aus der Schublade Ich hole in letzter Zeit öfter meine Nichten aus der Schule ab Tweet von @BentFreiwald
23.11.2020 Gastauftritt #Wersten 📟Gasaustritt📍#Wersten Tweet der Feuerwehr Düsseldorf
27.11.2020 #Datenschutz-autist

Aktuelle Pressemitteilung der #Datenschutz-aufsicht Hamburg: … Tweet von Stefan Hessel
02.12.2020 Revenge Code Execution: Remote Code Execution: Lücken in NAS-Betriebssystem QTS von Qnap geschlossen Tweet von Heise Security
05.12.2020 Politik ist super, hat nur nicht so ein schönes Interface Pdftk ist super, hat nur nicht so ein schönes Interface aber es kann alles 😊 Tweet von @Musicaloris
07.12.2020 Schadendienliche Hinweise Sachdienliche Hinweise bitte an … Tweet der Polizei München
12.12.2020 Used an invalid username 'NoeNoe' Used an invalid username 'NoneNone' Wordfence Alert
24.12.2020 Die Kameltreiber sollen an den Einnahmen beteiligt werden Die Kanalbetreiber sollen an den Einnahmen beteiligt werden Aus einem Tweet von Johannes Grunert
24.12.2020 Mit einem mutigen Coronavirus … Mit einem mutierten Coronavirus … Tweet von @truckblog
25.12.2020 VERZIERT: Zugang für ($Mailadresse) VERIFIZIERT: Zugang für ($Mailadresse) Betreff einer Spam-Mail
29.12.2020 worfbedeutung.info/ wortbedeutung.info Tweet von @Floskelwolke
30.12.2020 Die Vorbereitungen auf einen digitalen Unterrichtsstart nach den Weihnachtsferien laufen laut #Placebo "auf Hochtouren". Die Vorbereitungen auf einen digitalen Unterrichtsstart nach den Weihnachtsferien laufen laut #Piazolo "auf Hochtouren". Tweet von BR24
30.12.2020 feministische Prothese ein dunkles Jahr, gleichzeitig aber auch eines des feministischen Protestes. Tweet von Jürgen Kasek

von Atari-Frosch am 08.01.2021 22:10


05.01.2021

Stefan Fahl (stefan)

Teamspeak

Einladung

The post Teamspeak appeared first on .

von Stefan Fahl am 05.01.2021 19:56


31.12.2020

Sabine Becker (AtariFrosch)

Jahresrückblick 2020

In einem Wort: UFF.

OK, ich mach das ja üblicherweise etwas ausführlicher 😁, so here we go:

2020 fing erstmal so an, wie 2019 aufgehört hatte: Mit viel „geht nicht“ AKA exekutiver Dysfunktion.

  • 26. Januar: Hofgarten und Rhein, 68 Fotos, Kamera: Canon EOS 750D

Ende Januar entdeckte ich die App TooGoodToGo. Obwohl ich gehofft hatte, darüber vor allem Obst und Gemüse günstig zu bekommen, blieb es in den ersten knapp drei Monaten zunächst bei Backwaren; Obst und Gemüse wurde nur wenig angeboten und war dann schneller ausverkauft, als ich am Smartphone wischen und klicken konnte. Damit änderten sich meine Frühstücks-Gewohnheiten: Statt Müsli habe ich nun meistens (aufgebackene) Brötchen oder Brot. Und damit konnte ich auch endlich die von meiner Mutter geerbten Marmeladen und Gelees verwerten, die in der Küche ein ganzes Regal belegten.

Im Februar glaubte ich endlich jemanden für mein Aufräum-Problem gefunden zu haben. Aber ich hatte gleich zweimal Pech: Der erste Kandidat kam einmal, versprach, am nächsten Tag weiterzumachen, verschob das dann telefonisch, kam zum neuen Termin nicht und war schließlich für mich telefonisch nicht mehr erreichbar. Nach einer Woche Warten hab ich ihn dann wieder bei der Minijob-Zentrale abgemeldet. Danke, next please.

Die zweite Kandidatin war immerhin dreimal da. Ich hatte der Dame sogar eine Monatskarte spendiert, wozu ich als Arbeitgeber nicht verpflichtet war, weil sie mir erzählt hatte, daß sie in einer prekären Lage sei. Nach dem dritten Arbeitstag rief sie dann an und erzählte mir was von einem Vorstellungsgespräch woanders. Ich hatte vorher gesagt, es sei für mich OK, wenn sie auch noch woanders einen Job annimmt; allerdings war ich von einem Teilzeit-Job ausgegangen und nicht davon, daß sie mich für einen Vollzeit-Job eiskalt abserviert und dann erzählt, sie kommt dann irgendwann vielleicht mal wieder, wenn sie wieder mehr Zeit hat. Die Dame hat außerdem seltsamerweise während oder direkt nach der Arbeitszeit immer dann keine Zeit gehabt, wenn ich sie darauf ansprach, daß wir doch jetzt mal die Anmeldung bei der Minijob-Zentrale (online) machen sollten, weil da die Unfallversicherung mit dranhängt. Das heißt, faktisch hat sie – von meiner Seite her ungeplant – schwarz gearbeitet.

Beide hatten sich arbeitstäglich in bar ausbezahlen lassen; offensichtlich zu dem Zweck, jederzeit abspringen zu können. Insgesamt waren dann mitsamt der Monatskarte 160,00 € weg gewesen – und weil nicht weitergemacht wurde, fiel ich wieder zurück, das heißt, die Ausgaben waren für die Katz' (RW).

Außerdem ging im Februar mein Kühlschrank kaputt, und ich hatte Spaß mit Kühlschränken. Seitdem habe ich im Kühlschrank weniger Platz als bisher, was mich schon mehrfach in Schwierigkeiten gebracht hat: Mir war beim Kauf überhaupt nicht klar gewesen, daß ein Kühlschrank mit einer deutlich höheren Energie-Effizienz-Klasse als mein alter (A++ vs. D oder so) bei etwa gleichen Außenmaßen deutlich weniger Stauraum hat, weil Wände und Türen viel dicker sind.

  • 21. Februar: Soli-Demo nach dem Rechtsterror in Hanau, 51 Fotos, Kameras: Canon EOS 750D, Doogee X5pro
  • 22. Februar: Fahrt von/nach Oberhausen, 4 Fotos, Kamera: Doogee X5pro

Am 22. Februar fuhr ich nach Oberhausen zu einem Workshop über 3D-Drucker, ausgerichtet für einen dortigen Autismus-Verein in dessen Räumlichkeiten. Das war nicht nur spannend und interessant; ich hatte dabei auch die Gelegenheit gehabt, Sam Becker endlich mal wieder zu treffen, die ich zuletzt 2015 bei einem Protest-Infostand gegen die Schwurbler-Veranstaltung „Spirit of Health“ in Kassel getroffen hatte.

Im März beanspruchte meine gitweb-Installation auf dem Server meine Aufmerksamkeit: gitweb und die robots.txt. Irgendwie bin ich es noch nicht gewohnt, daß Web-Anwendungen ihren Krempel nicht im üblichen Server-Verzeichnis stehen haben.

Kurz darauf hatte ich nochmal Spaß mit einem Server: Ich versuchte, auf meinem V-Server ein OpenVPN auf Port 443 für einen Android-Client einzurichten und hatte dabei mal wieder eine sehr lange Leitung. Mittlerweile weiß ich, woran es gelegen hatte, daß das nicht laufen wollte: Ich hatte schlicht übersehen, daß ich dem Client noch was zum Thema Nameserver rüberschicken muß …

In Anbetracht der Corona-Krise, die zu dieser Zeit bereits die Nachrichten dominierte, überlegte ich gegen Ende März zum ersten Mal, ob ich die neue Selbständigkeit forcieren oder wieder Hartz IV beantragen sollte. Ich entschied mich schließlich dafür, mir den Gewerbeschein für dokufotos.biz zu holen, vor allem, weil mir da mittlerweile eine sehr liebe Person in Sachen Steuern unter die Arme greift (RW). Danke, Nicky!

Auch noch im März richtete ich mir endlich den „neuen“ PC ein, den ich bereits im September 2019 von einem anderen Chaosdorf-Mitglied gekauft hatte. Der bereitete mir dann auch erstmal noch „Spaß“: Schrödingers Hardware. Stand hier ist mittlerweile, daß das eingebaute DVD-ROM-Laufwerk bereits beim nächsten Reboot wieder nicht mehr wollte, während die Systemplatte seitdem zuverlässig funktioniert. Ich hatte mir dann entnervt ein externes USB-DVD-Laufwerk gekauft, das immerhin auch ein CD-/DVD-Brenner ist (nur um später festzustellen, daß ich bereits ein solches Gerät besitze). Auch ein PC-Lautsprecher ist mittlerweile aufgetaucht; ich müßte dafür „nur“ das Monster nochmal hochheben, um das Teil einzubauen …

  • 6. April: Nachtspaziergang Düsseldorfer Rheinbrücken, 56 Fotos, Kamera: Canon EOS 750D
  2018 2019 2020
Januar   108,9 kg 101,0 kg
Februar   108,1 kg 100,7 kg
März   107,2 kg 99,9 kg
April   106,3 kg 99,5 kg
Mai 112,6 kg 106,0 kg 98,3 kg
Juni 113,4 kg 104,9 kg 97,4 kg
Juli 112,3 kg 103,7 kg 95,8 kg
August 111,5 kg 103,7 kg 94,5 kg
September 110,5 kg 103,0 kg 93,7 kg
Oktober 110,7 kg 103,5 kg 92,8 kg
November 110,0 kg 102,7 kg 91,9 kg
Dezember 109,5 kg 102,3 kg 91,5 kg

Gewogen ab 01.05.2018, aber erste ernsthafte Änderungen an der Ernährung erst etwa ab Juli 2018; Gewicht ist jeweils Monatsschnitt bei fast täglichem Wiegen direkt nach dem Aufstehen; bei dreistelligem Gewicht kann meine Waage nur Werte ohne Nachkommastelle anzeigen, daher ist der Schnitt etwas ungenauer.

Im April schaffte ich endlich, was ich gerne Ende Dezember 2019 bereits erreicht haben wollte: Mein Gewicht ging dauerhaft auf unter 100 kg. Damit hatte ich seit dem Beginn meiner Abnahme-Bemühungen etwa im Juli/August 2018 die ersten gut 13 kg runter. So nebenbei habe ich im April dann auch mal meine ersten Erfahrungen mit TooGoodToGo verbloggt.

Außerdem gab es im April interessante Einsichten in die Datenbanken von Thunderbird: IMAP-Inbox von Thunderbird fixen. Eine Person hatte mich auf Twitter per DM gefragt, ob ich ihre Mails retten könnte, die sie verloren geglaubt hatte. Und ich konnte tatsächlich, weil Thunderbird sozusagen einfach nur verwirrt über einen Providerwechsel gewesen war. 🙂

Mitte Mai hatte ich schon wieder „Spaß“ auf meinem Server: Irgendso ein Vollpfosten hatte im Piwigo Dutzende von amerikanischen Mailadressen von unbeteiligten Menschen in das Plugin „Subscribe To Comments“ eingetragen und mir damit einen Joe-Job verpaßt, bis ich das Plugin deaktivierte, nachdem die erste Spam-Beschwerde deswegen bei meinem Server-Provider Hetzner aufgeschlagen war.

Außerdem fing ich im Mai an, mir via TooGoodToGo auch Obst und Gemüse zu holen. Man muß zwar immer noch schnell klicken können, wenn das Angebot online kommt, aber ich habe es seitdem fast immer geschafft, eine Portion zu ergattern. Ich vermute, daß Real mehr Portionen bzw. Tüten anbietet als vorher: Essen retten mit TooGoodToGo (2).

Nebeneffekte der Aktion: Ich esse seitdem sehr viel mehr Obst und Gemüse. 🙂 Außerdem habe ich seitdem einige Sorten (wieder) entdeckt, die ich seit vielen Jahren nicht mehr oder sogar noch nie gekauft hatte, zum Beispiel Mangos, Rosenkohl, Chinakohl, Blattsalate, Tomaten oder Orangen. – Frisches Obst und Gemüse zu kaufen hatte ich mir vor vielen Jahren fast vollständig abgewöhnt, weil durch die Depressionen immer die Gefahr bestand, daß ich nicht genug Antrieb hatte, um sie rechtzeitig verarbeiten zu können, und sie mir dann schlicht verdarben. Das fand ich dann ziemliche Geldverschwendung, die ich mir mit Hartz IV nicht leisten wollte. Also wurden es meist Konserven.

Und schon wieder meckerte mich mein Server an: Diesmal gab es Spaß mit pymysql. Nach einem Update des MariaDB-Servers nahm dieser es mir übel, daß ich die Datenbanken, die ich mit einem eigenen Python-Script – deshalb pymysql – regelmäßig auslese, nicht ordnungsgemäß geschlossen hatte. Vor dem Update hatte er das wohl „wohlwollend“ durchgehen lassen.

Eine Woche später, immer noch im Mai, hatte ich dann „Spaß“ mit einem MediaWiki, ausnahmsweise mal nicht auf meinem eigenen Server. Eine Neuinstallation wäre dabei zu einfach gewesen; es ging quasi um eine „Wiederbelebung“ eines alten Wikis – für das ich zunächst keinen Admin-Zugang hatte. Die Lösung war so in der Art „von hinten durch die Brust ins Auge“, aber immerhin mit Volltreffer 🙂

  • 30. Mai: Modellbahnprojekt FYMT im Hofgarten, 40 Fotos, Kamera: Canon EOS 750D

… da gehören auch noch Videos dazu, allerdings habe ich nach dem Wechsel auf den „neuen“ PC mein gewohntes Video-Editing-Tool avidemux nicht mehr zur Verfügung, weil das wohl nicht mehr weiter gepflegt wurde. Stattdessen mußte ich auf kdenlive wechseln, mit dem ich noch ein paar, sagen wir, Kommunikationsprobleme habe. Seitdem kann ich also erstmal keine Videos mehr bearbeiten.

  • 9. Juni: Stilleben mit gerettetem Obst und Gemüse, 5 Fotos, Kamera: Canon EOS 750D

… für die Teilnahme an einem Wettbewerb, von dem ich nach dem Einsenden eines der Fotos allerdings nie wieder was gehört habe.

Im Juni versuchte ich, leider vergeblich, ein Backblech für meinen Gasherd zu finden. Dabei erfuhr ich so nebenbei, daß der Herd nicht, wie ich vermutet hatte, etwa 20 Jahre alt ist, sondern eher so knapp 50 Jahre.

Außerdem rantete ich über die Einhaltung der Maskenpflicht. Auch wenn viele es noch leugneten, war zu dieser Zeit eigentlich schon klar gewesen, daß die Masken – neben dem Abstandhalten – der beste Schutz gegen eine Corona-Infektion sind, den wir haben. – Seit Herbst trage ich auch im Hausgang durchgehend eine der beiden Baumwoll-Masken, die mir eine liebe Twitterin angefertigt und verkauft hatte, auch wenn es echt anstrengend ist, damit die fünf Stockwerke hochzukommen, erst recht, wenn ich auch noch Einkäufe hochtragen muß.

Um meine Kontakte zu reduzieren, hatte ich im Sommer angefangen, noch mehr als sonst online zu bestellen. Damit war ich offensichtlich nicht alleine. Die Paketboten kamen damit vermutlich ins Schleudern, und zumindest die von DHL gingen dazu über, gar nicht mehr nach oben zu kommen, wenn sie was für mich hatten oder ich was für Nachbarn annehmen sollte. Im besten Fall hieß es: Können Sie mal bitte runterkommen?. Ansonsten wurden die Pakete verstärkt direkt im DHL-Shop abgekippt und auch schon gar keine Abhol-Karten mehr verteilt, sondern nur noch E-Mails versandt. Nicht nur, daß die DHL-Shops – meist quasi Franchise-Läden, die eigentlich andere Artikel anbieten – Probleme mit ihren Lagerkapazitäten bekamen, nein, der Laden, in dem mein Zeug dann landete, wird von einer Dame betrieben, die keine Maske trägt. Und ihr Personal auch nicht. Daß sich Aerosole nicht so wirklich für Plexiglas-Scheiben interessieren, juckt da nicht. Immerhin, so dachte ich, kann ich das Problem umgehen, indem ich mir den Zugang zu den DHL-Packstationen klicke und die entsprechende App installiere.

Spätestens Ende Juni fing ich an, mir ernsthaft Sorgen um meine Zukunft zu machen. Ich war im Leerlauf mit Au, oder anders, Leerlauf traf auf Teufelskreise. Ich fing wieder aktiver an, trotz Pandemie nach einer Aushilfe zu suchen – zunächst erfolglos.

Im Juli kam das Thema IPReG auf, das „Intensivpflegegesetz“, das den einzelnen Menschen zum Kostenfaktor reduziert und ihm die Freiheit nimmt, seinen Wohn- und Aufenthaltsort selbst zu wählen für den Fall, daß er zum Beispiel beatmet werden muß. Es war noch nicht verabschiedet; insbesondere mußte es schließlich vom Bundespräsidenten unterzeichnet werden, damit es in Kraft treten kann. Also schrieb ich an diesen mit der Bitte, das IPReG nicht zu unterschreiben.

  • 5. Juli: Am Rhein von Hamm S bis Landtag, 105 Fotos, Kameras: Canon EOS 750D und Doogee X5pro

Derweil hatte ich schon mehrfach versucht, veganen Joghurt zu produzieren, meist mit unbrauchbarem Ergebnis. Da braucht man wohl einen speziellen Starter. Immerhin vermute ich, daß, wie dort geschrieben, sich selbst hergestellte Hafermilch wohl tatsächlich sehr gut eignen könnte, denn wenn man solche Hafermilch erhitzt, dickt sie teils stark an. Deshalb ist sie auch weder als Kaffeemilch noch für heiße Schokolade geeignet. Aber vielleicht für Joghurt? Ich habe es in diesem Jahr nicht mehr geschafft, das tatsächlich einmal auszuprobieren, was auch mit den Platzproblemen im Kühlschrank zusammenhängt. Das Ergebnis muß ich ja kühlen können.

Wenige Tage später erfuhr ich – mal wieder –, daß unser Rechtssystem so ein bißchen kaputt ist. Denn unversehens war ich in einem doch recht großen Strafverfahren vom Zeugen zum Beschuldigten umdefiniert worden, und zwar ohne mir das mitzuteilen. Und dann flatterte mir auf einmal eine Verfahrens-Einstellung gegen mich auf den Tisch. Die Umdeklaration hatte stattgefunden, bevor ich dort als Zeuge vor Gericht vorgeladen worden war, direkt nach meiner ersten Zeugenvernehmung vor der Staatsanwaltschaft. Ich war „not amused“, und mein Rest-Vertrauen in unseren Rechtsstaat wurde nochmal gewaltig dezimiert.

Schließlich faßte ich im Juli den spontanen Entschluß, wieder mit dem Fahrrad zu fahren: Ein Frosch auf dem Fahrrad. Dazu mußte ich mein Fahrrad erstmal reparieren und wieder verkehrstauglich machen lassen, was nicht ganz so ablief, wie ich gehofft hatte. Aber es ist wieder einsatzfähig.

Mitte August hatte ich dann endlich, endlich einen Menschen gefunden, der sich – auf Basis der „70-Tage-Regel“ (kurzfristige Beschäftigung) – um meine Wohnung kümmern wollte. Damit bekam ich wieder Hoffnung, daß es mit dem geplanten Umzug doch noch klappt, bevor mir das Geld ausgeht. Zwei Monate lang „tobte“ sich der junge Mann hier aus, und es hätte noch weitergehen können, wenn … ja, wenn mir das nicht mein Budget gesprengt hätte, das ich mir dafür reserviert hatte – und wenn nicht Anfang November sein Studium begonnen hätte; das war sozusagen die Deadline, an der ich nicht vorbeikam. Trotzdem war ich danach ein ganzes Stück weiter, fand und finde mehr Dinge wieder, hab eine deutlich besser aufgeräumte und nutzbare Küche, und der im Weg stehende Sperrmüll ist auch weg.

  • 18. bis 25. August: Wespen-Sommer, 7 Fotos (Videos fehlen noch), Kameras: Canon EOS 750D, Doogee X5pro

Ab Ende August mußte ich dann erstmal wieder auf die Nutzung der Packstation verzichten. Warum? Weil DHL seine DHL-App aktualisierte, allerdings so, daß die bisherige Version komplett deaktiviert wurde, während die neue sich auf meinem Smartphone mit Android 5 nicht installieren ließ. Ich vermute ja, sie haben die API verändert. Eine Mitteilung vorher wäre ja immerhin nett gewesen, aber DHL hatte das nicht nötig gehabt, und so stand ich plötzlich ohne App da, während noch ein Paket in der Packstation auf mich wartete.

Ebenfalls ab Ende August versuchte ich, auf dem Server Jitsi-Meet zu installieren. Das schien (und erscheint mir immer noch) sinnvoll im Hinblick darauf, daß das mit der Pandemie ja noch eine Weile aktuell sein würde. Klar, es gibt freie Instanzen, die man nutzen könnte. Trotzdem reizte mich eine eigene Installation, ist ja schließlich Freie Software. Aber es war wie verhext: Testpersonen, die ich einlud, waren zwar laut eigener Aussage und laut Server-Logfile in derselben Konferenz wie ich, trotzdem konnten wir uns weder sehen noch hören. Die andere jeweils Person (einmal mit Debian Linux, einmal mit Windows 10, beide nicht mit Firefox) bekam stattdessen angezeigt, daß der Konferenz-Moderator nicht anwesend sei; ich hatte Jitsi-Meet so konfiguriert, daß zunächst nur ich Konferenzen anlegen kann.

Der September bestand hauptsächlich darin, mich mental vor meinem Angestellten abzuschirmen. Zwar war mir klar gewesen, daß eine weitere Person in der Wohnung mir eine gewisse „Grundlast“ bezüglich meiner Reizfilterschwächen verschaffen würde, aber ich hatte zunächst den Eindruck gehabt, daß ich den jungen Mann nicht so massiv wahrnehme wie die beiden Kandidaten vom Frühjahr. Was ich aber übersehen hatte, war der Faktor Zeit. Der Mensch kam viermal pro Woche für je vier Stunden her, auch noch an vier aufeinanderfolgenden Tagen, und irgendwann merkte ich das dann doch. Aber gut, ich wollte das ja so haben, und es war ja auch notwendig gewesen.

Mein Server verschaffte mir mal wieder, ähm, „Ablenkung“. Also, indirekt. Ich hatte meinen ssh-Zugang über iptables besonders abgesichert, und das fiel mir in dem Moment auf die Füße (RW), als ich hier von Vodafone eine neue IP zugewiesen bekam – womit ich nicht gerechnet hatte, weil ich die vorherige wirklich sehr lange gehabt hatte. Daher gab es Spaß mit iptables, bis ich mich wieder überall einloggen konnte.

Auf Bitte von Marc „GrmpyOldMan“ Olejak fotografierte ich eine Pressekonferenz und Petitions-Übergabe von @arbeitsunrecht; leider fiel das Ergebnis nicht so gut aus, weil ich ungünstige Lichtverhältnisse in der Gaststätte hatte, in welcher die Pressekonferenz stattfand. Ich hätte ein Blitzgerät gebraucht, das ich nicht besitze. Daher blieben die Fotos trotz teils starker Nachbearbeitung mit GIMP hinter meinen Erwartungen an mich selbst zurück.

  • 11. September: Pressekonferenz und Übergabe der Petition „Stop Tönnies!“, 79 Fotos (ein Video fehlt noch), Kamera: Canon EOS 750D
  • 13. September: Düsseldorf-Gerresheim, 33 Fotos, Kameras: Canon EOS 750D, Doogee X5pro

Um auszuprobieren, wie weit ich ohne Training mit dem Rad fahren kann, setzte ich mich am 13. September aufs Rad und fuhr einfach los. Ich landete in Gerresheim, wo ich dann auch noch – allerdings zu Fuß – versuchte, einen Geocache zu finden, leider vergeblich. Ich vermute, der war geklaut worden. Zurück setzte ich mich dann an der Haltestelle Gerresheim Krankenhaus in die Straßenbahn, weil ich mir die Strecke zurück nicht mehr zutraute. Immerhin hatte ich laut Tacho rund 11 km geschafft, plus schätzungsweise 3 km Fußweg.

Als es später im September dann vorbei war mit dem schönen Wetter, mußte ich mein Fahrrad wieder in den Keller bringen; seit der Abholung von der Fahrradwerkstatt hatte ich es immer auf dem Fürstenplatz angeschlossen. Irgendwie hab ich es geschafft, aber es seitdem unten gelassen, weil ich mir das nicht nochmal zutraue. Es war ein ziemlicher Balance-Akt gewesen, und ich steh nicht so auf Stürze und gebrochene Knochen.

Dann fing ich an, mir einen Test-PC zusammenzuschrauben, um meine alte Hardware durchzutesten. Dabei hatte ich ausführlich Spaß mit alter Hardware, weil sich Murphy einmischte und das ganze sehr, sagen wir, umständlich wurde. Aber immerhin kam ich danach ein ganzes Stück weit voran.

… bis ich auf die verflixten 40 GB stieß. Nachdem ich mit allen anderen IDE-Platten durch war, blieben also ein Dutzend 40-GB-Platten liegen, die ich nicht am Mainboard des Testrechners testen kann. Beinahe hätte ich sie entsorgt, obwohl sie vermutlich voll funktionsfähig sind; mindestens zwei davon sind neuwertig, waren also noch nie im Einsatz gewesen.

Anfang Oktober war ich dann in einem Betten-Fachgeschäft, weil die Schmerzen von meinem Bett her nicht mehr auszuhalten waren. Dort kaufte ich nach Beratung eine Matratze für fast 1000 Euro. Geliefert wurde sie Mitte November, und ich hoffte auf besseren Schlaf. Bei der Hoffnung blieb es allerdings: Meine Verspannungen waren davon nahezu völlig unbeeindruckt. Zwar fand ich die Matratze beim Ausprobieren im Laden sehr angenehm; hier auf meinem eigenen Bett fühlte und fühlt sich das wieder ganz anders an, nämlich eher so wie die alte Matratze. Die Muskelschmerzen in den Oberarmen ließen zunächst nach, kommen aber gerade wieder hervor. Da habe ich wohl 1000 Euro für nix ausgegeben, wie es scheint … ob ich nochmal in diesen Leben ein gutes Bett haben werde?

Seit Oktober kommen die Einschläge näher. Der erzwungene Leerlauf und daß ich erst so spät Hilfe für die Wohnung bekommen habe, machten und machen sich bemerkbar. Ich stelle mich tatsächlich seelisch darauf ein, Ende nächsten Jahres weiterhin in Düsseldorf festzusitzen und damit erledigt zu sein, und meine einzige Hoffnung ist, daß ich bis dahin wenigstens alle meine Fotos digitalisiert und online stehen habe, bevor ich möglicherweise obdachlos werde und dann zeitnah abtrete. Fatalistisch? Vielleicht. Für mich nach meinen Erfahrungen eher realistisch. Falls nicht noch sowas wie ein Wunder geschieht. Alt werde ich so jedenfalls nicht.

Zwischendurch hatte ich versucht, Dias mit dem Canon CanoScan 9000F Mark II nochmal zu scannen, weil die Ergebnisse aus dem Reflecta x7-scan größerenteils eher so mau sind. Dabei kam heraus, daß der XSane-Treiber für den CanoScan, der offiziell vollständig sein soll, anscheinend Probleme mit Durchlichtbildern hat. Die Ergebnisse waren jedenfalls noch viel übler als alles, was mir der x7-scan je ausgespuckt hatte, und damit völlig unbrauchbar. 🙁

Während Jitsi-Meet sich immer noch weigerte, zu funktionieren, kam Let's Encrypt angeschlappt und meinte, es könne sein Zertifikat für die entsprechende Subdomain nicht erneuern, obwohl die Erstinstallation desselben problemlos funktioniert hatte. Es gab also schon wieder „Spaß“, diesmal mit Jitsi-Meet, nginx, Let’s Encrypt und der Zertifikats-Erneuerung. Das war wieder so eine Sache mit „die Web-Anwendung liegt nicht im Server-Verzeichnis“, wie ich es schon im Februar mit gitweb gehabt hatte.

Einen Tag später mußte ich schon wieder auf den Server. Diesmal gab es Spaß mit MariaDB unter Devuan. Irgendwas mit kaputten Namens-Konventionen bei Debian-Paketen oder so, und mit dem Hinweis, daß das, wenn MariaDB 10.5 rauskommt, nochmal lustig werden könnte.

  • 22. November: Nachtspaziergang mit Graf-Adolf-Platz, Ständehauspark und Rheinkniebrücke, 37 Fotos, Kamera: Canon EOS 750D

Ende November bis Anfang Dezember gab es eine böse Überraschung: Mein Internet-Anschluß funktionierte nicht mehr, die FritzBox blinkte mich nur an. Es gab eine Fehlerbehebung à la Vodafone, die viel länger dauerte, als sie hätte dauern müssen, wenn der erste Techniker von den dreien, die kommen mußten, bereits den richtigen Handgriff ausgeführt hätte. Stattdessen wurde über alles mögliche spekuliert, von Stör-Einstrahlungen, die man nicht mal eben so beheben könne, über Tiefbauarbeiten, die dafür notwendig seien bis hin zu „es könnte ja auch Ihre FritzBox sein“. Nachdem es erst wieder zu gehen schien, flog die Verbindung aber nochmal ab, und es gab einen Teil 2: Fehlerbehebung à la Vodafone (2). Seitdem ist der Zugang wieder stabil.

Natürlich hatte ich danach nochmal das Spielchen mit der Anpassung der iptables-Regeln, aber die habe ich dann minimal weiter gefaßt, sodaß ich beim nächsten IP-Wechsel nicht wieder sozusagen vor einem verschlossenen Port „stehe“.

Ja, und im Dezember bin ich dann auch noch gestürzt, einfach so, und ich finde das nicht so wirklich lustig. Dabei habe ich mir dann auch noch meinen Wäscheständer verbeult, der mir seit bestimmt 25 Jahren treue Dienste leistet, und mußte einen neuen kaufen. Das wurde dann zum Wäscheständer-Drama, das auch immer noch nicht ausgestanden ist. Status ist, daß der kaputt gelieferte Wäscheständer jetzt auf dem Rückweg zum Lieferanten ist und ich immer noch keinen Wäscheständer habe.

Und weil das nicht reicht, ging auch noch mein Kopfhörer kaputt. Kurz vor Weihnachten, ohne Chance, vor den Feiertagen einen neuen zu bekommen, ohne vorhandenen Ersatz. Und mit zwei sehr munteren Kindern in der Wohnung unter mir, vor denen ich mich nicht mehr abschirmen konnte. Und zwischendurch auch noch mit einem Dachdecker-Einsatz über mir auf dem Dachboden, der natürlich auch nicht gerade leise ablief. Aber da wurde ich überraschenderweise noch am 23. Dezember „erlöst“: Statt am 29. wie angekündigt kam der neue Kopfhörer schon an diesem Tag. Per DPD! Die können also doch, wenn sie wollen.

Kurz vor Schluß habe ich dann noch eine langjährige Freundschaft beendet, weil der Mensch auf einmal meinte, von Grundrechtsentzug durch die Anti-Corona-Maßnahmen zu schwurbeln – und eigentlich meinte, daß er als Selbständiger kein Geld mehr verdienen kann (dieses Recht steht übrigens nicht im Grundgesetz …). Da er auf Argumente überhaupt nicht einging, sondern nur meinte, wer das nicht sehen könne, habe wohl die falsche Brille auf, hab ich ihn dann mal lieber geblockt. Ich halte es da mit Prof. Drosten: Ich habe Besseres zu tun.

Was ich so im Rückblick feststelle: Es hat Vorteile, introvertiert zu sein. Die Abwesenheit von direkten Kontakten macht mir einfach mal überhaupt nichts aus. Es ist schade, ja, aber es greift mich nicht psychisch an. Allerdings wäre ich gern öfter mal rausgegangen, was mir hier aber zu riskant war:

  • Ich habe auf beiden Fahrrad-Touren, die ich geschafft habe, „Corona-Leugner-Demos“ gesehen bzw. mußte durchfahren.
  • Als Anfang November die Maskenpflicht in Düsseldorf erstmal gekippt worden war, sprachen mich am Fürstenplatz zwei ältere Frauen an, als ich auf dem Weg zum Einkaufen war, daß ich doch keine Maske tragen müsse – in einem Tonfall, als würden sie mir etwas ganz Wunderbares mitteilen. Und dann wurden sie pampig, als ich sagte, daß ich die Maske nicht trage, weil es mir irgendwer vorschreibt, sondern weil ich das für vernünftig halte.
  • Noch solange es im November warm genug dafür war, war der Spielplatz auf dem Fürstenplatz gut mit Familien gefüllt, ohne Abstand, und größtenteils ohne Masken.
  • Immerhin wird seit der Erneuerung der Maskenpflicht nahezu konsequent tatsächlich auf der Straße Maske getragen. Dafür halten die Leute halt auch weiterhin nicht immer Abstände ein.

Also blieb ich daheim, füllte bei Einkäufen nur immer gut meine Vorräte auf, ohne wirklich zu „hamstern“, und war nun problemlos drauf vorbereitet, ab kurz vor Weihnachten gar nicht mehr in einen Laden zu müssen. Denn es ist bzw. war zu vermuten, daß die Läden an den „Tagen zwischen den Jahren“ sehr voll sein würden. Das kann ich jetzt auch noch locker eine weitere Woche durchhalten, dann muß ich aber so langsam wieder nachfüllen.

Fazit: Dieses Jahr kann in die Tonne.

von Atari-Frosch am 31.12.2020 16:53


27.12.2020

Darian (thoys)

Daten auf dem Handy ohne W-Lan oder Funk – Micro-USB LAN (RJ45) Adapter

Es die Möglichkeit sein Tablet oder sein Handy per Kabel mit Daten zu versorgen. Gerade bei meinem Tablet kann ich auf diese Weise größere Updates machen oder Filme schauen und habe das W-LAN ausgeschaltet.

In meinem vorherigen Post habe ich beschrieben, wie ich das mit meinem Smartphone mit USB-C mache, in diesem Artikel geht es um mein Tablet mit Micro-USB.

Micro-USB ist dabei der „alte“ Standard und USB-C der Neue. Probiert einfach mal aus euren Stecker umzudrehen und wieder in euer Smartphone zu stecken. Wenns funktioniert habt ihr entweder ein iPhone oder USB-C, wenn nicht, dann Micro-USB – so einfach ist das.

Das Anschließen ist ebenfalls einfach.

  1. Ich stecke den Micro-USB Stecker vom Adapter in mein Tablet.
  2. Das LAN-Kabel in den Adapter.
  3. Fertig

Mir ist aufgefallen, dass ich so nicht nur Funkstrahlung vermeide, sondern der Akku auch viel länger hält. Leider gibt es diese Adapter noch nicht mit der Möglichkeit gleichzeitig den Akku zu laden, sonst wäre das hier das Paradies.

Wenn ich mal kurz was nachschaue, nehme ich weiterhin W-LAN aber sobald ich länger am Schreibtisch oder auf dem Sofa sitze, nutze ich diesen Adapter.

Wer noch Studiert und in einem Raum in der Uni ist, der schlechtes W-LAN aber LAN-Kabel hat, der kann sich hiermit zu schnellem Internet verhelfen. Das gilt natürlich für Firmen, Wohnungen von Freunden usw.

Mein kleines Fazit (ist natürlich gleich, wie beim USB-C Adapter):

🙂🙁
Günstig
Funktioniert ab Android 3.1
Einfach
Akku hält länger
Schnelles Internet auf dem Handy
Perfekt für die Arbeit am Schreibtisch
Weniger Funkstrahlung
Funktioniert nicht mit POE
(Laden und Daten gleichzeitig)

Ich kann nicht rumlaufen und verlege dauernd den Adapter ; -)

Jetzt interessiert mich natürlich, wie gut das bei eurem Smartphone oder Tablet funktioniert hat?
Eure Antwort und eventuelle Fragen könnt ihr einfach hier in die Kommentare schreiben.

-<-,–{@ Euer Darian
Themenübersicht und Kauf

von Darian am 27.12.2020 15:51


21.12.2020

Bernd Dau (whisper)

Headset mit USB Anschluss

Durch eine Fehlbestellung bin ich zu einen Gaming Headset gekommen.

Es ist das EKSA E900Pro.

Auf dem Karton steht zwar was von 7.1 Sound (WTF) aber nur per USB auf Windows.

Da konnte ich nicht anders, die inneren Stimmen, ihr versteht. Also angestöpselt, die Nachrichten sahen gut aus:

usb 1-3: new full-speed USB device number 7 using xhci_hcd
usb 1-3: New USB device found, idVendor=0d8c, idProduct=0012, bcdDevice= 1.00
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-3: Product: USB Audio Device
usb 1-3: Manufacturer: C-Media Electronics Inc.
input: C-Media Electronics Inc. USB Audio Device as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.3/0003:0D8C:0012.0003/input/input42
hid-generic 0003:0D8C:0012.0003: input,hidraw0: USB HID v1.00 Device [C-Media Electronics Inc. USB Audio Device] on usb-0000:00:14.0-3/input3

Das sah gut aus! (Debian Bullseye)

Also mal ein wenig in den Einstellungen von Gnome gesucht und fündig geworden. Das USB Audio Devie ist bei mir als drittes Audio Device aufgeführt und kann ausgewählt werden (rechts Detailansicht von Jitsi)

Was Jetzt noch fehlt, ist die automatische Aktivierung des Headsets, damit ich nicht immer manuell umschalten muss.

Da gibt es übrigens eine ganz einfache Möglichkeit die Reihenfolge der Devices zu beeinflussen.

 

 

 

Und zwar so: als root in 

/etc/modprobe.d/sound-cards-order einfach
options snd_usb_audio index=0
options snd_hda_intel index=1

schreiben. Die Datei existiert vermutlich noch nicht. (details zur Konfiguration hier wiki.ubuntuusers.de/Soundkarten_konfigurieren/ )

Nach dem nächsten Neustart funktioniert das automatische aktivieren einwandfrei. 

Interessanterweise ist dadurch gleich der NVIDIA Sound Kram verschwunden.

Ps: Das Headset hat auch noch eine 4 poligen 3.5mm polige Buchse und passendes Kabel, das habe ich auch probiert, nur das Mikro wollte nicht an Anhieb, mit USB kein Problem.

Deshalb habe ich da nicht weiter geforscht...

von bed (nospam@example.com) am 21.12.2020 19:06


(c3f2o)

AfD watch Bundestag: Parlamentswoche 16. bis 17. Dezember 2020

Der Ausschluss des Bundestagsabgeordneten Frank Pasemann aus der AfD führte folgerichtig auch zu seinem Ausschluss aus der Bundestagsfraktion, die nunmehr nur noch aus 88 Abgeordneten besteht. Für die AfD hat das Folgen, denn sie verliert durch das Schrumpfen der Fraktion je einen Sitz im Verteidigungs-, Verkehrs- und Rechtsausschuss und auch Redezeit im Bundestag. Mehr als […]

von invia1200 am 21.12.2020 17:32


AfD watch Bundestag: Parlamentswoche 8. bis 11. Dezember 2020

Leugnung und Verschwörung oder Kritik an den Maßnahmen und Relativierung der Gefahr: zwischen diesen Polen im Umgang mit der Corona-Pandemie bewegt sich die AfD-Bundestagsfraktion nach wie vor. Auch die Haushaltswoche war vom alles beherrschenden Thema geprägt, verbunden mit der Aussicht auf einen zweiten Lockdown. Der Umgang der AfD mit der Pandemie wird zu einer Gefahr – auch […]

von invia1200 am 21.12.2020 12:28


19.12.2020

Steffen Rumberger (inne)

You won't find them. They will contact you!

Mir wurde folgende E-Mail zugestellt:

Delivered-To: steffrum82@gmail.com
Received: by 2002:ac9:13cf:0:0:0:0:0 with SMTP id z15csp1750853ocb;
        Thu, 17 Dec 2020 18:51:39 -0800 (PST)
X-Received: by 2002:adf:fccb:: with SMTP id f11mr1789920wrs.3.1608259898313;
        Thu, 17 Dec 2020 18:51:38 -0800 (PST)
X-Google-Smtp-Source: ABdhPJy9zlVkKyhnzV9OQTWLMiOVlsJHv2TgEzK4aMg4bKsHLebnLGs4azF+5qwOaNEZ5B8GlA4m
X-Received: by 2002:adf:fccb:: with SMTP id f11mr1789863wrs.3.1608259897185;
        Thu, 17 Dec 2020 18:51:37 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1608259897; cv=none;
        d=google.com; s=arc-20160816;
        b=SPEYCcryzhibdWFTS5kEF7++jdy5fP0eHsl7fRanLkSikL7VKbhKD6NWAZ014thrU1
         YoBstRbfFf6ffyDyeZDiSC7fyu6yXgdIxWLzRinjR7I9C0hPTcVOYJNWA+XlVuLQaI0O
         1r/H8CRDpgbwAZfjnAx7XspcJ43qmCE20rFZPo9Baoxxo0JpHHqwBwqb0fokq77Dl25R
         4xiYUj05AJwGLnPoN62aXFUXuO0+KL2E2Adm9hNvUCFQzp8tUpEJYhxML/n+mVMpdzMS
         pyFy5drL+6byFZ+J/uRZNEq8iSLVUuclT94SUEZw4BExnjaogBpqFfB2Er62dfXRbLg6
         Mpxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
        h=message-id:subject:date:to:from:mime-version;
        bh=fQcHO6uYsleJhcyN7LtgTWCXhZNQrb0bJwOK0hMeQmU=;
        b=CdfSCHnV9HE0msiTkFyaBNE3whgLHjgtwZUdWpTFK7NQae1kt1bZnHnymF3t+0qgxH
         KM6LMiK2ZxSEcqSE7tkUP+dlJObHOtM0RB1Cxk3utNRzM0dabt4lDC4/559AcIPVFMzJ
         rs6dlMdyHwaPTkZhRBF3ziXV9HnB0xhd9MNH5SsjWljgPVx522PIf2PeBmD0MLYeAoaq
         QtzE6kv5GPFhvqoj0Q1rqTv7WDPryvqNX2Ogs9Ua+7ERCsYr0gbZHfTKikYHGgxcF7Vw
         DG91yf0NEyk+878SpmZC/HTfo+mYJG7U2iWwFqqeSg1GIGA91bcY3cg9ZnHBAJWJIUhD
         Jrkw==
ARC-Authentication-Results: i=1; mx.google.com;
       spf=pass (google.com: domain of info@internet-xl.at designates 80.67.18.28 as permitted sender) smtp.mailfrom=info@internet-xl.at
Return-Path: <info@internet-xl.at>
Received: from smtprelay05.ispgateway.de (smtprelay05.ispgateway.de. [80.67.18.28])
        by mx.google.com with ESMTPS id o8si1081280wrc.402.2020.12.17.18.51.36
        for <steffrum82@gmail.com>
        (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 17 Dec 2020 18:51:37 -0800 (PST)
Received-SPF: pass (google.com: domain of info@internet-xl.at designates 80.67.18.28 as permitted sender) client-ip=80.67.18.28;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of info@internet-xl.at designates 80.67.18.28 as permitted sender) smtp.mailfrom=info@internet-xl.at
Received: from [134.119.86.183] (helo=www.internet-xl.at)
	by smtprelay05.ispgateway.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128)
	(Exim 4.92.3)
	(envelope-from <info@internet-xl.at>)
	id 1kq5rZ-0000yY-4X
	for steffrum82@gmail.com; Fri, 18 Dec 2020 03:51:25 +0100
MIME-Version: 1.0
From: info@internet-xl.at
To: steffrum82@gmail.com
Date: Fri, 18 Dec 2020 03:51:36 +0100
Content-Type: text/plain; charset=UTF-8
Subject: Ihre Anfrage an INTERNET-XL
Message-Id: <E1kq5rZ-0000yY-4X@smtprelay05.ispgateway.de>
X-Df-Sender: aW5mb0BpbnRlcm5ldC14bC5hdA==

Danke für Ihre Anfrage an INTERNET-XL in Gröbming.
Wir bemühen uns, Ihre Anfrage so schnell wie möglich zu beantworten.

Das ist eine Kopie Ihrer Ã¼bermittelten Daten:

Anrede: Herr
Vorname: Eberhart
Nachname: David
Telefon: 
E-Mail: steffrum82@gmail.com
Straße: 
PLZ: 06110
Ort: Sachsen-Anhalt
Land: 

Mitteilung:
4612 EUR sind bereits auf Ihrer EINZAHLUNG cutt.ly/KonvertierenSie-250in3000

Datenschutzerklärung gelesen und akzeptiert: Ja

Mit internet(t)en Grüßen,
das Team von INTERNET-XL

INTERNET-XL, Thomas Stiegler
Stoderstraße 801
A-8962 Gröbming
Telefon: +43 3685 23240
E-Mail: info@internet-xl.at
Web: www.internet-xl.at

Der Absender ist wohl ausgedacht. Zumindest finde ich über Facebook und Google keinen Herr Eberhart David aus 06110 Sachsen-Anhalt.

Was diese E-Mail aber so besonders für mich macht, ist die Tatsache wie hier Spam (denn das ist es wohl) verschickt wurde. Im Kontaktformular auf www.internet-xl.at wurde als Absender meine E-Mail Adresse angegeben und das Formular sendet dann eine Kopie/Durchschlag an einen selbst. So landete die Botschaft unbekannterweise bei mir.

Das Kontaktformular von www.internet-xl.at ist vorübergehend nicht erreichbar und dort deswegen Nachfragen, braucht es nun auch nicht…
Aber diese Art der anonymen Kontaktaufnahme wollte ich mal festhalten. Auch um auf diesen Umstand hinzuweisen.
Das so eine E-Mail im Spam-Ordner der Adressaten landet, schätze ich auch als eher unwahrscheinlich ein.

Gesucht habe ich, konnte jedoch kein Kontaktformular finden was dies ermöglicht.

19.12.2020 15:50


16.12.2020

Bernd Dau (whisper)

Desktop Wiki: zim mit MagentaCloud

Seit 1-2 Jahren benutze ich zim als Desktop Wiki aus dem Debian Repository. Mal mehr oder weniger intensiv.

Da ich nun alle Rechner zu Hause auf Bullseye umgestellt habe und ich bei fast allen eine Neuinstallation vorgenommen habe, fehlt mir nun ein Rechner übergreifendes Wiki.

Vor der Umstellung hatte ich es nur auf einem Rechner, dem Tuxedo. Ich habe es auf owncloud syncronisiert.

Da es damit momentan unter Bullseye noch Probleme gibt, habe ich mich nach einer Alternative umgesehen.

Da ich Kunde der Telekom bin, habe ich auch ein kleines Kontingent in der MagentaCloud.

Warum also nicht das mal nutzen?

Meine Idee ist, dass ich von allen Rechnern auf ein- und dasselbe Notizbuch zugreifen kann.

Die "echten" Collabrationstools wie z.B. QOwnNotes erschlagen mich mit den Features und sind in diesen Fall außerdem mit der QT Library, was ich ja eigentlich sonst nicht benötige, also weiterhin zim.

Nun denn, ans Werk.

MagentaCloud stellt einem den Dienst via WEBDAV zur Verfügung, man muß im account-manager

nur ein Password bei WebDAV-Passwort vergeben und sich den Benutzernamen dazu merken.

Nun gibt es mehrere Möglichkeiten, wie man WEBDAV in Linux einbindet, am rundesten finde ich, wenn man es mountet und allen Usern zur Verfügung stellt.  Aus der Beschreibung von davfs: "davfs2 ist so konzipiert, dass es sich vollständig in die Dateisystem-Semantik von  Unix-ähnlichen Systemen (mount, umount, etc.) einfügt. davfs2 macht Einhängen durch unprivilegierte Benutzer so einfach und sicher wie möglich. Das erschließt  die Möglichkeit, auf solche Ressourcen wie auf ein  typisches Dateisystem zuzugreifen, was die Verwendung durch Standardanwendungen ohne eingebaute Unterstützung für WebDAV erlaubt."

Auf seinem Rechner installiert man mit apt install davfs2 die Unterstützung.

Damit es als Drive im Verzeichnis der User auftaucht, muß folgende Zeile in der /etc/fstab hinzugefügt werden:

URL zum WEBDAV                  Mount Verzeichnis      Filesystem Optionen
https://webdav.magentacloud.de /home/bed/MagentaCloud/ davfs uid=1000,users,rw,_netdev 0 0

Für bed natürlich den eigenen Login Namen einsetzen, das Verzeichnis kann natürlich beliebig genannt werden, Hauptsache es ist vorhanden und man hat im Hinterkopf, dass es ein Remote Verzeichnis ist, deshalb finde ich den Namen ganz passend. Das _netdev sorgt dafür, dass das Verzeichnis nur gemountet wird, wenn das Netz aktiv ist und man keine Hänger beim booten oder im Flugzeugmode hat.  

Jetzt noch denselben Verzeichnisnamen im Home Directory anlegen: mkdir /home/bed/MagentaCloud/

Jetzt empfehle ich einen probe mount, um zu sehen ob Benutzername und password richtig sind.

# mount /home/bed/MagentaCloud/
Gib bitte den Benutzernamen für den Server https://webdav.magentacloud.de an; wenn du keinen angeben willst, drücke Return.
  Benutzername: xxx@xx.xx
Gib bitte das Passwort von xxx@xx.xx für den Server https://webdav.magentacloud.de
an; wenn du keines angeben willst, drücke Return.
  Passwort: 

 

Ist das erfolgreich, dann erscheint bei df -h

u.a. dieser Eintrag.# df

Dateisystem                     1K-Blöcke   Benutzt Verfügbar Verw% Eingehängt auf



https://webdav.magentacloud.de 1333333332 800000000 533333332   61% /home/bed/MagentaCloud

 

sieht gut aus? 

Ok, dann können die Einstellungen auch permanent gemacht werden, damit der unprivelegierte User das Password nicht mehr eingeben muß.

cat /etc/davfs2/secrets

https://webdav.magentacloud.de xx@xx.xx Geheimes_P@ssw0rd

 

Hinweis: WEBDAV und damit auch davfs ist kein vollwertiger Ersatz für ein anständiges Network Filesystem, wie NFS, sondern auf eine https aufbauende Krücke.

In der FAQ ist auch erläutert, warum man unter Umständen lange auf ein unmounten warten muß, z.B. auch beim Runterfahren des Rechners. Siehe  zless /usr/share/doc/davfs2/FAQ.gz 

Mit meinen Worten kurz zusammen gefasst: Beim hochladen von Dateien wird erst lokal eine Kopie angelegt und dann Häppchenweise die Datei hochgeladen. Das ist also lange noch nicht zu Ende, auch wenn der cp Befehl schon lange beendet ist.

Ein ls -l im Zielverzeichnis kommt auch dann erst zurück, wenn das kopieren wirklich beendet ist.

Das kann man schön verfolgen, wenn man parallel per Browser in der MagentaCloud verfolgt, was passiert. Erst nach vollständigem Transfer erscheint der Dateiname korrekt und mit richtigen Angaben zur Größe.

Mein Versuch zeigt bei mir (34Mit upload) doch knapp 6 Minuten für 720 MB. Also nix für Ungeduldige ;-)

Doch nun zum eigentlichen Thema. 

Zim

Ich hatte ja bereits eine weile zim benutzt, ich habe das einfach komplett an den neuen Ort kopiert und dann wie im Screenshot zu sehen, als neues Notizbuch hinzugefügt und das alte kann man dann entfernen.

Falls sich das plugin Quellcode Ansicht nicht aktivieren lässt, also nicht wie rechts GtkSourceView - OK steht. Dann bitte überprüfen, ob die Libbraries installiert sind.

ii  libgtksourceview-3.0-1:amd64           3.24.11-2                       amd64        shared libraries for the GTK+ syntax highlighting widget
ii  libgtksourceview-3.0-common            3.24.11-2                       all          common files for the GTK+ syntax highlighting widget
ii  libgtksourceview-4-0:amd64             4.8.0-1                         amd64        shared libraries for the GTK+ syntax highlighting widget
ii  libgtksourceview-4-common              4.8.0-1                         all          common files for the GTK+ syntax highlighting widget

Sollte nach einem Neustart von zim immer noch kein aktivieren möglich sein, dann hilft ein Reboot. Jedenfalls bei mir. Eigentlich peinlich, aber da ich wegen eines Kernelupdates eh booten mußte, hatte sich das gleich mit erledigt.

Im Handling ist es nun überhaupt kein Unterschied mehr, wo und was ich mit zim mache. Ich bin momentan mit dieser Lösung sehr zufrieden.

Aber bitt beachtet die Kommentare, man kann das natütlich auch anders lösen.

Denn diese Lösung ist nämlich von einer funktionierenden Internetverbindung und der MagentaCloud abhängig. Großer Mist, wenn man es eilig hat, aber man nicht an sein Wiki kommt ;-)

Apropos Netz und Zuverlässigkeit.

Ich habe mal unterschiedliche Sachen mit der MagentaCloud und dem davfs probiert. Es ist doch ziemlich robust, Gewaltsames unmounten, oder reboot richten so direkt keinen Schaden an. Ich habe ja bereits angemerkt, dass der davfs2 daemon mit einer lokalen Kopie arbeitet. Wenn die Transaktion, also das kopieren einer Datei fehl schlägt, dann bleibt die alte Kopie im cache erhalten. Wie man auf dem Screenshot sieht.

Wird der Kopiervorgang nun erneut angestoßen, wird mit einer neuen Kopie im Cache gearbeitet, zu erkennen am Timestamp und der zufälligen Extension am Namen.

Wie ich bereist schrieb, ist das zurück kehren des Prompts beim kopieren nicht das Signal, dass der Kopiervorgang abgeschlossen ist, was man hier auch schön verfolgen kann, wie lange das ls -ltr (main Alias ltr) gebraucht hat.

Die runden 3 GIB habe knapp 60 Minuten benötigt. Da nun der Kopiervorgang erfolgreich war, befindet sich nun im Cache nur noch die Leiche des ersten durch reboot unterbrochenen Kopierversuchs.

Außerdem weiß ich nun auch, dass MagentaCloud mit 3 GB Dateien umgehen kann und das Protokoll nicht bei 2GB schlapp macht, wie es teilweise heißt. Die Grenze wird bei 4GB liegen, vermute ich. (Hinweise darauf fand ich bei der Telekom)

Um den Fass die Krone aufzusetzen:

Update: Mit owncloud geht es genauso :-) Happy I am ;-)

... und da wird bei df -h auch der per quota mir zugeordnete Speicher korrekt angezeigt. Nicht wie bei MagentaCloud, wo nur merkwüdige Werte angezeigt werden.

von bed (nospam@example.com) am 16.12.2020 16:58


13.12.2020

Lars Moelleken (voku1987)

Prepare your PHP Code for Static Analysis

Prepare your PHP Code for Static Analysis

Three years ago I got a new job as PHP developer, before that I called myself web developer because I build ReactJS, jQuery, CSS, HTML, … and PHP  stuff for a web agency. So now I am a full-time PHP developer and I converted a non typed  (no PHPDoc + no native types) project with ~ 10.000 classes into a project with ~ 90% type coverage. Here is what I have learned.

1. Write code with IDE autocompletion support.

If you have autocompletion in the IDE most likely the Static Analysis can understand the code as well. 

Example:

bad:

->get('DB_Connection', true, false);

still bad:

->get(DB_Connection::class);

good:

getDbConnection(): DB_Connection

2. Magic in Code is bad for the long run!

Magic methods (__get, __set, …) for example can help to implement new stuff very fast, but the problem is nobody will understand it, you will have no autocompletion, no refactoring options, other developers will need more time to read and navigate in the code and in the end it will cost you much more time than you can save with it.

3. Break the spell on Magic Code …

… by explaining to everyone (Devs > IDE > Tools) what it does.

Example 1:

We use a simple Active Record Pattern, but we put all SQL stuff into the Factory classes, so that the Active Record class can be simple. (Example) But because of missing support for Generics we had no autocompletion without adding many dummy methods into the classes. So one of my first steps was to introduce a “PhpCsFixer” that automatically adds the missing methods of the parent class with the correct types via “@method”-comments into these classes. 

Example 2:

Sometimes you can use more modern PHPDocs to explain the function. Take a look at the “array_first” function in the linked Post.

Example 3:

/**
* Return an array which has the Property-Values of the given Objects as Values.
*
* @param object[] $ObjArray
* @param string $PropertyName
* @param null|string $KeyPropertyName if given uses this Property as key for the returned Array otherwise the keys from the
* given array are used
*
* @throws Exception if no property with the given name was found
*
* @return array
*/
function propertyArray($ObjArray, $PropertyName, $KeyPropertyName = null): array {
// init
$PropertyArray = [];

foreach ($ObjArray as $key => $Obj) {
if (!\property_exists($Obj, $PropertyName)) {
throw new Exception('No Property with Name ' . $PropertyName . ' in Object Found - Value');
}

$usedKey = $key;
if ($KeyPropertyName) {
if (!\property_exists($Obj, $KeyPropertyName)) {
throw new Exception('No Property with Name ' . $PropertyName . ' in Object Found - Key');
}
$usedKey = $Obj->{$KeyPropertyName};
}

$PropertyArray[$usedKey] = $Obj->{$PropertyName};
}

return $PropertyArray;
}

Sometimes it’s hard to describe the specific output types, so here you need to extend the  functions of your Static Code Analyze Tool, so that it knows what you are doing. ⇾ for example here you can find a solution for PHPStan ⇽  but there is still no support for the IDE and so maybe it’s not the best idea to use magic like that at all. And I am sure it’s more simple to use specific and simple methods instead:  e.g. BillCollection->getBillDates()

4. Try to not use strings for the code.

Strings are simple and flexible, but they are also bad for the long run. Mostly strings are used because it looks like a simple solution, but often they are redundant, you will have typos everywhere and the IDE and/or Static Analysis can’t analyze them because it’s just text.

Example:

bad: 

AjaxEditDate::generator($bill->bill_id, $bill->date, 'Bill', 'date');
  • “Bill” ⇾ is not needed here, we can call e.g. get_class($bill) in the “generator” method
  • “date” ⇾ is not needed here, we can fetch the property name from the class
  • “$bill->bill_id” ⇾ is not needed here, we can get the primary id value from the class

good:

AjaxEditDate::generator($bill, $bill->m()->date);

5. Automate stuff via git hook and check it via CI server.

Fixing bad code is only done if you disallow the same bad code for the future. With a pre-commit hook for git it’s simple to run these checks, but you need to check it again in the CI server because the developers can simply skip these checks.

Example:

I introduced a check for disallowing global variables (global $foo && $GLOBALS[‘foo’]) via “PHP_CodeSniffer”. 

Links:

  • git-scm.com: git hooks
  • CaptainHook: git hook library for php

6. Use array shapes (or collections) if you need to return an array, please.

Array shapes are like arrays but with fixed keys, so that you can define the types of each key in the PHPDocs.

You will have autocompletion for the IDE + all other devs can see what the method will return + you will notice if you’re better retuning an object because it will be very hard to describe the output for complex data structures and Static Analysis can use and check the types. 

Example:

/**
* @return array{
* missing: array<ShoppingCartLib::TAB_*,string>,
* disabled: array<ShoppingCartLib::TAB_*,string>
* }
*/
private static function getShoppingCartTabStatus(): array {
...
}

von voku am 13.12.2020 01:28


12.12.2020

Marco Laspe (rockiger)

Wie man sich als Solo-Gründer organisiert

Im folgenden Stelle ich euch meine tägliche Arbeitsweise vor, mit der ich zum einen meine Projekte erreiche und auch meine täglichen Aufgaben nicht aus den Augen verliere.

Problemstellung

Wenn man als Arbeitnehmer in einer Firma arbeitet, ist es normalerweise so, dass die eigenen Aufgaben klar definiert sind. In der Regel gibt es eine Projekt-Management-Software aus der klar ersichtlich ist, was als nächstes getan werden muss.

Wenn man als Freelancer, Solopreneur oder nebenberuflich tätig ist, sieht die Lage meistens anders aus.

Als ich mich mit meinen Affiliate-Websites selbstständig gemacht habe, hatte ich kein System, dem nicht folgen konnte. Ich hatte mich derzeit für ein einfaches Kanban-Board entschieden, indem ich meine Aufgaben eintrug.

Nach kurzer Zeit hatte ich Schwierigkeiten eine Balance aus neuen Features, die umgesetzt werden sollten, und regelmäßig wiederkehrenden Aufgaben zu finden.

Mein Hintergrund als Product Owner in einem Scrum-Team war mir nur bedingt hilfreich. Zwar war mir klar, wie ich Aufgaben priorisieren und abarbeiten sollte, aber ich war überfordert wiederkehrende Aufgaben einzuordnen und regelmäßig zu bearbeiten.

Also machte ich mich auf die Suche, nach Planungssystem, die mir weiterhelfen sollten. Ich interviewte Freunde und studierte mehrere Organisationssysteme und kreierte daraus mein eigenes Planungssystem.

Mein Planungssystem sollte mir mit folgenden Anforderungen weiterhelfen:

  • Wichtige Features und Aufgaben sollten hoch priorisiert sein und möglichst zeitnah umgesetzt werden.
  • Wiederkehrende Aufgaben, die regelmäßig umgesetzt werden müssen, sollten mir weder den Backlog zumüllen, noch wollte ich sie in meinem Kopf haben.
  • Darüber hinaus wollte ich, das meine notorisch überfüllte Inbox verschwindet. (In der Vergangenheit, habe ich meine Inbox gerne als Ablagesystem für später zu erledigende Aufgaben eingesetzt.)

Darf ich vorstellen: Getting Things Scrumban

Nach meinen Erfahrungen und Recherchen habe ich folgendes System entwickelt. Im Wesentlichen ist es ein uneheliches Kind aus Getting Things Done, Scrum und Kanban.

Herzstück des Systems ist wie bei den meisten agilen Projektmanagementsysteme ein Taskboard.

Aktuell gliedert sich dieses in vier Spalten: Backlog, Todo, Doing, Done. Das Taskboard ist bewusst simpel gehalten. Menschen, die häufig Aufgaben delegieren oder von anderen bei der Erledigung abhängig sind, sollten noch über eine On-Hold- oder Delegated-Spalte nachdenken.

Allerdings hilft mir das Taskboard noch nicht mit wiederkehrenden Aufgaben. Diese müssen immer wieder neu eingepflegt werden. Wenn man in Sprints arbeitet, könnte man, sobald man eine wiederkehrende Aufgabe erledigt hat, diese immer wieder neu in den Backlog einpflegen. Das finde ich aber äußerst umständlich und es entspricht auch nicht wirklich einem Backlog. Schließlich will ich meinen Backlog ja abarbeiten und nicht automatisch anwachsen lassen.

Deswegen habe ich mich neben dem Taskboard noch für eine separate Liste mit wiederkehrenden Aufgaben entschieden. Die Aufgaben in dieser Liste kennzeichnen sich dadurch, dass sie sich zum einen wie der Name schon sagt wiederholen und Arbeitsumfang begrenzt sind. Typische Einträge sind „E-Mails lesen“ oder „Google Analytics checken“. Grundsätzlich ist keine wiederkehrende Aufgabe zu klein, um nicht in dieser Liste zu landen. Hauptsache die Dinge sind aus dem Kopf und belegen keine Kapazitäten im Gehirn.

Für Termine verwende ich noch einen Kalender, um meine Termine zu verwalten.

Mein Arbeitsplatz sieht in etwa so aus

My work desktop

Ablauf

Mein Tagesablauf gliedert sich wie folgt:

Als Erstes checke ich meine Termine und lese dann E-Mails und andere Nachrichten, die an mich gesendet wurden. Wenn aus diesen, neue Aufgaben hervorgehen, werden sie in den Backlog eingepflegt.

Im Anschluss verschaffe ich mir einen Überblick über mein Taskboard und die wiederkehrenden Aufgaben, die eventuell neu aufgepoppt sind. Von hier aus kann ich dann mit der Erledigung aller Tasks beginnen.

Normalerweise starte ich mit den zu wiederholenden Aufgaben, da diese schnell erledigt sind und ich dann Zeit für das Taskboard habe.

Meinen Backlog überarbeite ich mindestens einmal pro Woche. Dabei sortiere ich die Features ggf. neu und schaue, dass sie so beschrieben sind, dass ich während der Umsetzung genau weiß, was ich machen soll. Beim Scrum würde man von einem Backlog-Refinement sprechen, bei GTD von Reflect.

Alle 14 Tage mache ich eine Retrospektive, bei der ich die vergangenen 2 Wochen Revue passieren lasse, entscheide welche Arbeitsweisen gut funktioniert haben und welche ich ändern möchte, um effektiver voranzukommen.

Auf echte Sprints mit festen Scrum-Events verzichte ich, da sie nicht mit meinem aktuellen Leben vereinbar sind und ich alleine natürlich etwas flexibler bin als ein Team von 5 bis 10 Leuten.

Apps

Im Folgenden möchte ich dir noch die Tools vorstellen, die ich derzeit verwende und die gut zu mir passen.

Als To-do-Liste mit wiederholenden Aufgaben verwende ich Google Tasks. Da Google Tasks eigentlich nicht alleine in einem Browser angezeigt werden kann, habe ich mir einen kleinen Workaround geschrieben: Google Tasks im Browser. Nutzt einfach diesen Link, wenn ihr Google Tasks unabhängig von GMail oder Calendar nutzen wollt.

Als Board-Lösung nutze ich ein selbst programmiertes Tool: Metado. Der entscheidende Vorteil für mich: Metado zeigt Google Tasks und GitHub-Issues von ausgewählten Projekten an. So kann ich unterschiedliche Projekte Seite an Seite sehen, ohne sie händisch übertragen zu müssen oder mehrere Tools gleichzeitig pflegen zu müssen.

Als Kalender nutze ich Google Calendar, weil ich gerne im Google-Ökosystem arbeite.

Wer sich mit anderen Tools wohlfühlt, die für seine Zwecke besser geeignet sind, kann natürlich diese natürlich verwenden.

Nun wird es Zeit, dass ich dich zu Wort kommen lasse. Wie strukturierst du deine Arbeit? Hast du vielleicht Tipps für den Rest von uns? Teile doch deine Erkenntnisse in den Kommentaren.

The post Wie man sich als Solo-Gründer organisiert appeared first on Rockiger.

von Marco am 12.12.2020 17:09


26.11.2020

Daniel Gestl (mcdaniels)

Kobol Helios 64 NAS How-Tos (Videoserie)

Nachdem ich mein Helios64 NAS von Kobol nun in Echtbetrieb habe und im Zuge der...

von Daniel am 26.11.2020 19:01


21.11.2020

Christian Imhorst (immi)

Remotedesktop mit Windows in QEMU/KVM

Unter openSUSE benutze ich QEMU/KVM und die Virtuelle Maschineneverwaltung (virt-manager) als GUI. Als virtuelle Maschinen laufen Linux- aber auch ein Windows-Rechner.

Damit die Windows-Maschine über Remotedesktop (RDP) erreichbar ist, müssen die Kommandozeilenargumente an QEMU durchgereicht werden, mit denen man den Port in KVM weiterleiten kann. Dazu wird die Konfigurations-Datei, die in XML geschrieben ist, bearbeitet:

sudo virsh --connect qemu:///session edit Windows10

Der Befehl öffnet den VIM-Editor, mit dem man die Konfigurationsdatei bearbeiten kann. Die erste Zeile der Datei wird um folgenden Eintrag erweitert:


Damit ermöglicht man es KVM, Kommandozeilenparameter von QEMU zu akzeptieren. In unserem Fall soll der Port für RDP vom Host zum Gast weitergereicht werden. Dazu trägt man gleich unter der ersten Zeile folgenden XML-Code ein:

  
    
    
  

Das Werkzeug zum Verwalten virtueller Maschinen virsh sortiert den Eintrag dann an die richtige Stelle in der XML-Datei nach dem Speichern.

Unter openSUSE muss dann noch firewalld mitgeteilt werden, dass der RDP-Port geöffnet werden soll, damit eine Verbindung hergestellt werden kann:

firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload

Unter Windows muss noch in den Einstellungen unter dem Punkt „Einstellungen für Remotedesktop“ der Remotedesktop aktiviert werden.

Remotedesktop unter Windows aktivieren

Als Client gibt es Remmina für den Zugriff über RDP. Dort fügt man eine neue Verbindung hinzu und verbindet sich mit seiner Windows-VM.

Remmina Remotedesktop Client mit Zugriff auf Windows 10 über RDP.

von Christian Imhorst am 21.11.2020 18:38


18.11.2020

Daniel Gestl (mcdaniels)

AMD Radeon RX 6800: Kruzifix schon wieder nix… [Paperlaunch auch bei Team red?]

18.11.2020 — 10:50h: Heute soll es soweit sein. Die neue AMD Grafikkartengeneration soll auf den...

von Daniel am 18.11.2020 17:33


14.11.2020

Martin Dosch (Dogge)

Kostenlose Webcam-Sticker

Ich gehöre ja zu den Paranoiden, die immer die Webcam abkleben. Beim Bundesministerium für Familie, Senioren, Frauen und Jugend kann man kostenlos die Webcamsticker-Karte TOP SECRET bestellen.

14.11.2020 10:26


31.10.2020

Martin Dosch (Dogge)

Anoxinon e.V. sammelt Spenden für ein FOSS-Projekt eurer Wahl

Anoxinon e.V. fragt in einer Umfrage bis zum 01.12.2020 nach 3 FOSS-Projekten, die unterstützt werden sollen. Danach wird es einen Spendenaufruf geben und das Projekt mit den meisten Stimmen erhält die Spenden + 500€ von Anoxinon.

Ich finde das eine tolle Idee und habe für folgende Projekte gestimmt:

  • Profanity
  • Snikket
  • Neomutt

Welchen Projekten habt ihr eure Stimme gegeben?

31.10.2020 19:01


21.10.2020

Stephan Tetzel (zefanja)

pfBlockerNG – Werbung und unerwünschte Inhalte filtern

Besucht man heute eine durchschnittliche Website, so werden unzählige Skripte und Tracker nachgeladen. Dadurch können die Webseitenbetreiber, Google, Facebook, usw. Daten über mich sammeln und meinen Streifzug durch die Weiten des Internets verfolgen. Zum Glück muss man sich diesem Treiben nicht ergeben und es gibt viele sinnvolle Erweiterungen z.B. für den Browser (uBlock Origin, uMatrix, etc.). Diese Lösungen haben den Nachteil, dass ich sie auf jedem Gerät und für jeden Browser einzeln installieren muss. Deshalb möchte ich heute vorstellen, wie man Werbung und unerwünschte Inhalte mit pfSense und pfBlockerNG netzwerkweit filtern kann. Das ist z.B. sinnvoll in einem Heim- oder Schulnetzwerk.

pfBlockerNG installieren

Zuerst loggen wir uns in pfSense ein und öffnen den Package Manager. Dort wählen wir pfBlockerNG-devel unter „Available Packages“ aus:

pfBlockerNG installieren

Mit „Install“ können wir das Paket installieren. PfSense lädt nun das pfBlockerNG Paket herunter und fügt es der Firewall hinzu.

pfblockerng installation fertig

pfBlockerNG Ersteinrichtung

Als nächsten werden wir pfBlockerNG konfigurieren. Dazu gehen wir zu Firewall  → pfBlockerNG.

pfblockerNG Menü

Es begrüßt und ein Assistent, der uns bei der Einrichtung von pfBlockerNG helfen wird. Mit „Next“ geht es weiter.

pfBlockerNG Assistent Seite 1

Auf der nächsten Seite wird erklärt, welche Dinge nun eingerichtet werden:

  • Es wird ein Standard-Setup für Anfänger mit pfBlockerNG eingerichtet.
  • Falls man vorher schon einmal pfBlockerNG installiert hatte, werden alle Einstellungen gelöscht.
  • Zwei Komponenten werden installiert:
    • IP: Firewall-Regeln für die WAN-Schnittstelle, um die schlimmsten bekannten Angreifer zu sperren.
    • DNSBL: Werbung und andere bekannte bösartige Domains werden geblockt.

Mit „Next“ geht es wieder weiter.

pfBlockernNG Assistent Seite 2

Im nächsten Schritt müssen wir die eingehende Schnittstelle (WAN) und ausgehende Schnittstelle (LAN) auswählen. Wenn man mehrere interne Schnittstellen hat, kann man alle diejenigen auswählen für die man pfBlockerNG einrichten will. Möchte man z.B. das Gäste-WLAN filtern, aber nicht das WLAN für die Lehrkräfte, kann man hier die entsprechenden Schnittstellen aus bzw. abwählen.

pfBlockerNG Schnittstellen

Als nächstes müssen wir eine sogenannte VIP-Adresse festlegen. Auf dieser läuft der Webserver von pfBlockerNG und sollte unter keinen Umständen eine IP aus einem verwendeten Netzwerk sein! Wenn das LAN-Netz z.B. 192.168.1.1/24 ist, sollte die VIP-Adresse nicht in diesem Bereich liegen. Hier in unserem Beispiel lassen wir die Adresse bei 10.10.10.1. Die Ports muss man i.d.R. nicht ändern.

pfBlockerNG VIP Adresse

Das Setup ist nun fertig und wir können den Assistenten mit einem Klick auf „Finish“ beenden.

pfBlockerNG Setup Ende

Danach öffnet sich die pfBlockerNG Updateseite und es werden automatisch alle aktivierten Blocklisten heruntergeladen und aktiviert.

pfBlockerNG einrichten

Wir haben nun ein fertig eingerichtetes pfBlockerNG Setup, dass unerwünschte Werbung und bösartige Domains und Webseiten blockiert. pfBlockerNG ist aber ein sehr mächtiges & flexibles Werkzeug. Deshalb möchte ich gern ein paar Einstellungen hervorheben.

Wichtig: Damit geänderte Einstellungen auch wirksam werden (egal, ob DNSBL oder IP), müssen wir unter Update → Reload → All → Run ausführen, damit die (geänderten) Listen heruntergeladen und aktiviert werden.
pfblockerng update

IP

Im IP Reiter, empfehle ich folgende Einstellungen:

  • Floating Rules → Enable. Wenn man nur eine interne Schnittstelle hat, kann man es auch deaktiviert lassen. Bei vielen Schnittstellen (z.B. in einem Schulnetzwerk), macht es Sinn, diesen Punkt zu aktivieren, damit die Firewallregeln übersichtlicher bleiben.
  • Kill States → Enable. Wenn pfBlockerNG die Blocklisten aktualisiert, werden alle aktiven Verbindungen zu IPs in den Listen zurückgesetzt.pfblockerNG IP Einstellungen

GeoIP Blocking

Möchte man Zugriffe aus bestimmten Regionen der Erde verbieten, muss man sich zuallererst einen kostenloses Konto bei MaxMind erstellen. Daraufhin erhält man einen Lizenzschlüssel, den man unter IP → MaxMind GeoIP Configuration eintragen. Danach muss man einmal unter Update → Reload → IP die GeoIP Datenbanken herunterladen.

pfblocker geoip

Nun können wir unter IP → GeoIP die gewünschten Kontinente oder Top-Spammer auswählen. Dazu klicken wir auf den kleinen Stift rechts und wählen dann in der Liste alle Einträge aus. Unten wählen wir noch „Deny Both“ (List Action). Top Spammer

Hinweis zu „Deny Inbound“ und „Deny Outbound“: „Deny Inbound“ bedeutet, dass die IPs für alle eingehenden Verbindungen geblockt werden. Wenn man z.B. einen Webserver betreibt und man möchte bestimmte Länder blocken, dann kann man das mit „Deny Inbound“ machen. „Deny Outbound“ gilt für alle ausgehenden Verbindungen, d.h. ich kann mich von einem Rechner im Netzwerk nicht zu dieser IP verbinden. Hier muss man aufpassen! Wenn ich z.B. alle IPs Nordamerikas mit „Deny outbound“ sperre, kann ich ab sofort keine Webseiten mehr erreichen, die auf diesem Kontinent gehostet sind!

DNSBL / Feeds

pfBlockerNG blockt neben IPs auch Domains. Es findet also keine Man-in-the-Middle-Attacke statt, um Inhalte zu filtern, sondern es wird einfach in eine lange Liste geschaut, ob eine Domain erlaubt ist oder nicht (funktioniert auch mit HTTPS). Unter Feeds können wir einstellen, welche Listen aktiv genutzt werden sollen. Es gibt dabei Feeds für IP Blocklisten, als auch für DNSBL, also Blocklisten für DNS / Domains.

Alle aktivierten Feeds haben einen Haken am Ende der Zeile. Wenn wir nun einen noch nicht aktiven Feed hinzufügen wollen, klicken wir einfach auf das „+“:

Feed hinzufügen

Es öffnet sich eine Seite auf der wir Details zu dem Feed einstellen können. Folgende Felder sind wichtig:

  • State: ON
  • Action: Unbound
  • Update Frequency: Once a day

Feed Details

Manchmal möchte man einen Feed hinzufügen, der nicht in der Liste ist (z.B. einzelne Feeds von Steven Black). Dazu gehen wir zu DNSBL → DNSBL Groups und klicken unten auf „Add“:

Feed hinzufügen

Auf der nächsten Seite geben wir der DNSBL Gruppe einen Namen und fügen und DNSBL Source Definitions unseren Feed (oder mehrere) hinzu.

  • Name: StevenBlack
  • State: ON
  • Source: https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts
  • Header / Label: Glückspiel
  • Action: Unbound
  • Update Frequency: Once a day

Mit „Save“ schließen wir den Vorgang ab.

Custom Feed

Whitelists

Wenn eine Domain nicht geblockt werden soll, muss man sie unter DNSBL → DNSBL Whitelist in die Whiteliste aufnehmen. Wenn man einen Punkt („.“) vor den Domainnamen setzt, werden auch alle Subdomains freigeschaltet, sonst nur genau die (Sub)Domain, die man eingetragen hat.

DNSBL whitelist

SafeSearch

Unter DNSBL → DNSBL SafeSearch kann man SafeSearch für die bekanntesten Suchmaschinen einstellen. Weiterhin können wir auch noch DNS over HTTPS von Firefox blockieren sowie Beschränkungen für Youtube einstellen.

DNSBL SafeSearch

pfSense als DNS Server erzwingen

Damit auch alle Anfragen in unserem Netzwerk durch pfBlockerNG gefiltert werden, müssen wir verhindern, dass jemand im Netzwerk einen anderen DNS-Server als den DNS-Server von pfSense verwendet. Dazu erstellen wir 2 Regeln für die LAN-Schnittstelle (mehr Details hier):

DNS Regel

Fazit

pfBlockerNG ist ein tolles Open Source Projekt. Es hilft Werbung, unerwünschte Inhalte und ganze Netzbereiche zu filtern. Egal ob IPs oder DNS-Blocklisten – mit pfBlockerNG kann man beides verwalten und so konfigurieren, wie man es für sein Netzwerk haben möchte. Es gibt aber auch Alternativen für pfBlockerNG, z.B. pi-hole, welches sich gut auf einem Raspberry Pi oder in einer VM bzw. Container installieren lässt. Unter Strich bleibt, dass ein werbefreies Netzwerk möglich ist!

Nutzt du pfBlockerNG oder pi-hole in deinem (Schul)Netzwerk?

 

Kommentar hinzufügen

Der Beitrag pfBlockerNG – Werbung und unerwünschte Inhalte filtern erschien zuerst auf .:zefanjas:..

von zefanja am 21.10.2020 14:13


04.10.2020

Stefan Fahl (stefan)

Singer Songwriter Bastian Hohnke

Bastian Hohnke ist ein 19 Jahre alter Singer/Songwriter aus Kaarst. Er spielt Akustik Folk/Pop und singt seine eigenen Lieder.

The post Singer Songwriter Bastian Hohnke appeared first on .

von Stefan Fahl am 04.10.2020 15:24


28.09.2020

Christian Imhorst (immi)

Nervige Fehlermeldung in Gnome bei openSUSE

Nach jeder Anmeldung bei openSUSE Tumbleweed nervt die Gnome Software-App damit, dass eine „Aktualisierung Fehlgeschlagen“ sei. Die Gnome Software-App versucht, eine Datei herunterzuladen:

Failed To Update 
 
Detailed errors from the package manager follow: 
 
Download (curl) error for 'http://download.opensuse.org/tumbleweed/repo/non-oss/repodata/repomd.xml': 
Error code: Connection failed 
Error message: Could not resolve host: download.opensuse.org

openSUSE Software sagt: Aktualisierung Fehlgeschlagen

Angeblich kann der Hostname nicht aufgelöst werden, obwohl Internet und DNS funktionieren und die Webseite in der Fehlermeldung bei openSUSE auch erreichbar ist.

Die Lösung

Der Text befindet sich in der Datei /var/lib/PackageKit/offline-update-competed. Wenn man die Datei löscht, erscheint die Meldung nicht mehr:

sudo rm -rf /var/lib/PackageKit/offline-update-competed

von Christian Imhorst am 28.09.2020 16:10


29.08.2020

Lars Moelleken (voku1987)

Generics in PHP via PHPDocs

Generics in PHP via PHPDocs

If you did not know that you can use Generics in PHP or you do not exactly know how to use it or why you should use it, then the next examples are for you.

Type variables via @template

The @template tag allows classes and functions to declare a generic type parameter. The next examples starts with simple functions, so that we understand how it works, and then we will see the power of this in classes.


A dummy function that will return the input.

⇾ https://phpstan.org/r/1922279b-9786-4523-939d-dddcfd4ebb86

    <?php    

    /**
     * @param \Exception $param
     * @return \Exception
     *
     * @template T of \Exception
     * @psalm-param T $param
     * @psalm-return T
     */
    function foo($param) { ... }

    foo(new \InvalidArgumentException()); // The static-analysis-tool knows that 
                                          // the type is still "\InvalidArgumentException" 
                                          // because of the type variable.

@template T of \Exception // here we create a new type variable, and we force that it must be an instance of \Exception

@phpstan-param T $param // here we say that the static-analysis-tool need to remember the type that this variable had before (you can use @psalm-* or @phpstan-* both works with both tools)

@phpstan-return T // and that the return type is the same as the input type 


A simple function that gets the first element of an array or a fallback. 

In the @param PHPDocs we write “mixed” because this function can handle different types. But this information is not very helpful if you want to understand programmatically what the code does, so we need to give the static-analysis-tools some more information. 

⇾ https://phpstan.org/r/1900a2af-f5c1-4942-939c-409928a5ac4a

    <?php
     
    /**
     * @param array<mixed> $array
     * @param mixed        $fallback <p>This fallback will be used, if the array is empty.</p>
     *
     * @return mixed|null
     *
     * @template TFirst
     * @template TFirstFallback
     * @psalm-param TFirst[] $array
     * @psalm-param TFirstFallback $fallback
     * @psalm-return TFirst|TFirstFallback
     */
    function array_first(array $array, $fallback)
    {
        $key_first = array_key_first($array);
        if ($key_first === null) {
            return $fallback;
        }

        return $array[$key_first];
    }

    array_first([1, 2, 3], null); 

    if ($a === 'foo') { // The static-analysis-tool knows that 
                        // === between int|null and 'foo' will always evaluate to false.
	    // ...
    }

@template TFirst // we again define your typed variables

@template TFirstFallback // and one more because we have two inputs where we want to keep track of the types

@psalm-param TFirst[] $array // here we define that $array is an array of TFirst types

@psalm-param TFirstFallback $fallback // and that $fallback is some other type that comes into this function

@psalm-return TFirst|TFirstFallback // now we define the return type as an element of  the $array or the $fallback type 


 Very basic Active Record + Generics

The IDE support for generics is currently not there, :-/ so that we still need some hacks (see @method) for e.g. PhpStorm to have autocompletion.

⇾ https://phpstan.org/r/f88f5cd4-1bb9-4a09-baae-069fddb10b12

https://github.com/voku/phpstorm_issue_53352/tree/master/src/Framework/ActiveRecord

<?php

class ActiveRow
{
    /**
     * @var ManagedFactory<static>
     */
    public $factory;

    /**
     * @param Factory<ActiveRow>|ManagedFactory<static> $factory
     * @param null|array                                $row
     */
    public function __construct(Factory $factory, array $row = null) {
        $this->factory = &$factory;
    }
}

/**
 * @template T
 */
abstract class Factory
{
    /**
     * @var string
     *
     * @internal
     *
     * @psalm-var class-string<T>
     */
    protected $classname;

    /**
     * @return static
     */
    public static function create() {
        return new static();
    }
}

/**
 * @template  T
 * @extends   Factory<T>
 */
class ManagedFactory extends Factory
{
    /**
     * @param string $classname
     *
     * @return void
     *
     * @psalm-param class-string<T> $classname
     */
    protected function setClass(string $classname): void
    {
        if (\class_exists($classname) === false) {
            /** @noinspection ThrowRawExceptionInspection */
            throw new Exception('TODO');
        }

        if (\is_subclass_of($classname, ActiveRow::class) === false) {
            /** @noinspection ThrowRawExceptionInspection */
            throw new Exception('TODO');
        }

        $this->classname = $classname;
    }

    // ...
}

final class Foo extends ActiveRow {

    public int $foo_id;

    public int $user_id;

    // --------------------------------------
    // add more logic here ...
    // --------------------------------------
}

/**
 * @method Foo[] fetchAll(...)
 *
 * @see Foo
 *
 * // warning -> do not edit this comment by hand, it's auto-generated and the @method phpdocs are for IDE support       
 * //         -> https://gist.github.com/voku/3aba12eb898dfa209a787c398a331f9c
 *
 * @extends ManagedFactory<Foo>
 */
final class FooFactory extends ManagedFactory
{
    // -----------------------------------------------
    // add sql stuff here ...
    // -----------------------------------------------
}

A more complex collection example.

In the end we can extend the “AbstractCollection” and the static-analysis-tools knows the types of all the methods. 

https://github.com/voku/Arrayy/tree/master/src/Type

/**
 * @template TKey of array-key
 * @template T
 * @template-extends \ArrayObject<TKey,T>
 * @template-implements \IteratorAggregate<TKey,T>
 * @template-implements \ArrayAccess<TKey|null,T>
 */
class Arrayy extends \ArrayObject implements \IteratorAggregate, \ArrayAccess, \Serializable, \JsonSerializable, \Countable
{ ... }

/**
 * @template TKey of array-key
 * @template T
 * @template-extends \IteratorAggregate<TKey,T>
 * @template-extends \ArrayAccess<TKey|null,T>
 */
interface CollectionInterface extends \IteratorAggregate, \ArrayAccess, \Serializable, \JsonSerializable, \Countable
{ ... }

/**
 * @template   TKey of array-key
 * @template   T
 * @extends    Arrayy<TKey,T>
 * @implements CollectionInterface<TKey,T>
 */
abstract class AbstractCollection extends Arrayy implements CollectionInterface
{ ... }

/**
 * @template TKey of array-key
 * @template T
 * @extends  AbstractCollection<TKey,T>
 */
class Collection extends AbstractCollection
{ ... }

Links:

⇾ https://phpstan.org/blog/generics-in-php-using-phpdocs

⇾ https://psalm.dev/docs/annotating_code/templated_annotations/

⇾ https://stitcher.io/blog/php-generics-and-why-we-need-them

von voku am 29.08.2020 00:34


25.08.2020

Gerrit Kruse (MrGerardCruiz)

Über Experten und was zwischen den Zeilen steht

Datenschutz, Datensicherheit und Privacy ist ein Themenspektrum, um das sich seit vielen Jahren zahlreiche Experten versammelt haben. Es gibt zahllose Podcasts, Blogs und Kolumnen. Da durchzublicken ist schwer aber nahezu alle lassen sich in drei Oberkategorien eingruppieren.

Das Informationsangebot zu dem Themenspektrum Datenschutz, Datensicherheit und Privacy ist riesig und wächst immer noch. Es gibt bestimmt ein Dutzend gut produzierter Podcasts, zahllose Blogs mit mehr oder weniger hoher Betragsfrequenz. Wie soll man sich in dieser Kakophonie der Meinungen orientieren und die brauchbaren Informationen filtern?

Hilfreich kann es sein die Informationsquelle einer von drei Oberkategorien zuzuordnen:

  1. Juristischer Ansatz
  2. Pädagogische Motivation
  3. Aktivistische Autoren

Im folgenden möchte ich das an drei Beispielen exemplifizieren, wobei die Auswahl ziemlich zufällig ist und ich den jeweiligen Autor bzw. Blog nicht herausheben möchte. Für jede Kategorie gibt es dutzende weitere Beispiele.

1. Juristischer Ansatz

In meinen Wochenrückblicken beziehe ich regelmäßig die Informationen von Dr. Datenschutz mit ein. Die dortigen Informationen sind fundiert und ausgewogen, dienen aber letztlich der Dienstleistungswerbung für die hinter dem Angebot stehende intersoft consulting services AG. Aufgrund der Transparenz dieser Verbindung ist dies unproblematisch.

Die Artikel haben oft einen juristischen Ansatz (da Datenschutz im Grunde ja auch ein rechtliches Thema ist). Bei der Beurteilung von Cookie Bannern konzentriert man sich folglich auf die rechtliche Bewertung der zulässigen Maßnahmen und nicht ob Datenerhebung gut oder schlecht ist. Am Beispiel der Corona-Gästelisten übt man zwar auch Kritik, verweist aber auf die mutmaßliche rechtliche Zulässigkeit der Maßnahmen.

Der juristische Ansatz lässt sich oft auf die Aussage "Datenschutz bedeutet DSGVO-konform" reduzieren.

2. Pädagogische Motivation

Im Podcast der Datenwache gibt Mitch Symalla in mittlerweile 54 Folgen sinnvolle Tipps für mehr Sicherheit und Datenschutz im Alltag als Endverbraucher. Die Folgen sind nahezu zeitlos und wenn man mit den ersten Folgen einsteigt sieht man sehr deutlich den Ansatz. Mitch holt die Menschen genau da ab wo sie sind: Mit unsicheren Geräten und als Nutzer zahlloser problematischer Dienste. Im Grunde genommen braucht man für den Einstieg noch nichts gemacht haben außer ein bisschen Interesse für Privatsphäre zu haben.

Ohne erhobenen Zeigefinder betont er in den Folgen was gute erste Schritte sind und bei welchen Aspekten man noch weiter gehen könnte. Gerne mit der etwas lapidaren Aussage "musst du halt selbst entscheiden". Durch dieses "pädagogischen Ansatz" stellt er sich auf keinen Sockel und überfährt die Hörer nicht. Denn wenn man jemandem stattdessen ins Gesicht rufen würde "Du hast keine Ahnung" und "Alles was du machst ist doof und muss geändert werden" schmeißt dieser vermutlich eher alles hin, als auch nur einen sinnvollen Schritt zu gehen.

3. Aktivistische Autoren

Jegliche Datensammlung ist gefährlich und ohne Open Source kann kein Vertrauen möglich sein. Mit dieser impliziten Grundhaltung kann man viele Artikel von Mike Kuketz umschreiben. Damit steht er beispielhaft für eine Reihe aktivistischer Autoren, die zumindest unterschwellig einen grundlegenden Wechsel im gesellschaftliche Umgang mit IT und Daten anstreben und durch ihre Artikel einen Beitrag dazu leisten wollen. Das ist nicht falsch und Kuketz ist ein versierter Experte des Gebiets. Seine Analysen haben es schon mehrfach in die Mainstream-Presse geschafft und sind immer wieder lohnenswert zu lesen. 

Die Beiträge haben allerdings oft einen appellierenden Charakter und stellen Praxistauglichkeit im Zweifel hinten an. Nachzulesen z. B. beim Aufruf alle großen IT-Konzerne aus Bildungseinrichtungen zu verbannen. Alles proprietäre wird dabei gerne mal in einen Topf geworfen. So berechtigt seine Kritik an Online Bezahlmethoden beispielsweise ist, zwischen den Datenschutzniveaus von Angeboten wie Sofortüberweisung, PayPal und Apple Pay gibt es durchaus Unterschiede. Das wird nur vollkommen unbeachtet beiseite gewischt und stattdessen Vorkasse, Lastschrift, Rechnung, SEPA oder paydirect empfohlen. Diese sind zwar hinsichtlich des Datenschutzes spitze, nur werden sie selten angeboten. Schon gar nicht ohne Auskunfteienabfrage bei z. B. Rechnungs-Kauf. Dieser Einwand würde wohl begegnet werden mit: AGB's lesen und notfalls auf Alternativen ausweichen.

Sachlich und fachlich richtig aber hier hat man dann meistens alle Verbraucher jenseits eines Kerns aus Überzeugungstätern verloren. Um solche Informationsangebote schart sich dann meist eher eine Peergroup von "100%tigen", die weniger auf die Informationen angewiesen sind, als sie dort Selbstbestätigung finden. Man sollte die Informationen daher eher zur Kenntnis nehmen und sie nicht zur alleinigen Richtschnur des eigenen Handelns zu machen.

Zusammengefasst

Trifft man auf Informationen lohnt es sich diese bis dato unbekannte (aber natürlich seriös und korrekt wirkende) Informationsquelle in eine der drei Kategorien einordnen. Meistens weiß man dann schon woran man ist und wie man mit den Informationen umgehen muss. Ich persönlich finde den pädagogischen Ansatz sehr sympathisch und glaube, dass hierdurch am meisten für das gesamtgesellschaftliche Privacy-Bewusstsein getan werden kann. Insbesondere Aktivisten begegne ich mit Skepsis, da diese immer Gefahr laufen in ideologischen Dogmatismus zu verfallen und Schwarz/Weiß Zeichnung zu betreiben. Der juristische Ansatz sollte dabei nie außer Acht gelassen werden, denn nicht jeder moralisch fragwürdige Umgang mit Daten ist gleich illegal. Eine simple Wahrheit, die bei der Beschäftigung mit dem Themenkomplex gerne mal auf der Strecke bleibt.

Etwas bedauerlich ist das Fehlen eines Planeten/Aggregator für Privacy-Themen. Solche Planeten bieten die einzigartige Möglichkeit in einem Themenbereich konträre Meinungen abzubilden und verhindern allzu enge Filterblasen.


Bilder:
Einleitungs- und Beitragsbild von Gerd Altmann via pixabay

"

von Gerrit (postfach@curius.de) am 25.08.2020 09:06


23.08.2020

Gerrit Kruse (MrGerardCruiz)

Wochenrückblick KW 33 & 34 - Open Source vs. Microsoft

Wieder einmal gibt es einen doppelten Rückblick für die Kalenderwochen 33 und 34. Die Bezeichnung "ausnahmsweise" entfällt aufgrund der Regelmäßigkeit dieser doppelten Rückblicke in letzter Zeit. Besserung ist leider nicht in Sicht. Dafür gibt es eine große thematische Spannbreite.

Open Source

Nextcloud hat endlich Ende-zu-Ende Verschlüsselung in seine Clients integriert. Das spielt vor allem beim immer zahlreicheren Einsatz von Dienstleistern eine Rolle.

  • Golem - Verschlüsselte Dateien in der eigenen Cloud

Debian leidet schon länger an einer völligen Überregulierung bei sinkender Aktivität (siehe auch: Debian - Eine Kritik). In einigen Bereichen wird es langsam kritisch. KDE-Anwender merken das schon länger und mit dem offiziellen Abtritt der Qt-Betreuer dürfte sich diese Situation verschlechtern.

  • linuxnews - Debians Qt-Betreuer treten zurück

Im Zuge der Corona-Krise dringen die Plattformen der großen Digitialkonzerne tiefer in das tägliche Leben vor. Einen großen Modernisierungsrückstau haben dabei Bildungseinrichtungen, die nun massiv auf fertige Lösungen wie Microsoft Teams setzen. Dagegen regt sich nun Widerstand. So sehr ich das nachvollziehen kann, so sehr fehlen mir aber brauchbare Open Source Lösungen. Ohne Alternativen ist das nämlich nur realitätsfernes Gemeckere, wodurch das Thema Datenschutz insgesamt diskreditiert.

  • heise - Schule digital: (K)ein Platz für Microsoft

IT Konzerne

Google scheint gemäß neuesten Berichten Nutzerdaten im großen Stil an US-Behörden weiter zu geben.

  • Golem - Google meldet Nutzerdaten unaufgefordert an Behörden

Apples restriktive Tracking-Einschränkungen lösen gegenwärtig Befürchtungen in der Werbebranche aus. Mal sehen, ob das im Herbst so kommt wie angekündigt.

  • SPIEGEL - Apples iPhone-Update könnte Facebook das Geschäft vermiesen

DSGVO

Die omnipräsenten Cookiebanner sind ein schönes Beispiel für die Unterscheidung von "gut gemeint" und "gut gemacht". Der Gesetzgeber wollte die massenhafte Datenübertragung an Dritte und Zusammenführung mit anderen Datensätzen einschränken. Einen Ausweg bietet lediglich die freiwillige und informierte Einwilligung. Einen Weg den nun nahezu alle Seiten im Netz gehen. Die Banner sind dabei teilweise hochgradig manipulativ und versuchen den Nutzer in "die richtige Richtung" (aus Sicht des Anbieters) zu drängen. Im Endeffekt stumpfen die Anwender ab und nicken die Voreinstellungen einfach ab.

  • Dr. Datenschutz - Webinar Cookiecalypse – Fragen und Antworten
  • Golem - Datenschützer knöpfen sich gezielt Medien vor

Datenschützer versuchen die DSGVO als Hebel gegen die kommerziellen Anbieter von Gesichtserkennung zu nutzen.

  • Golem - Datenschützer erhöht Druck auf US-Anbieter Clearview

Corona

Technik löst nicht alle Probleme. Eine Erkenntnis, die vor allem junge Menschen und Jünger des Silicon Valley noch lernen müssen. Jüngstes Beispiel sind die Probleme der Corona Tracing Methode im ÖPNV. Trotzdem sollte man solche Artikel nicht zum Vorwand nehmen um die App nicht zu nutzen. Vor allem wenn man aus beruflichen und privaten Gründen viel unterwegs ist und daher die Kontakteinschränkungen nur bedingt befolgen kann.

  • t3n - Forscher: Corona-Warn-Apps funktionieren im ÖPNV nicht zuverlässig

Bilder:

Einleitungs- und Beitragsbild von Megan_Rexazin via pixabay

von Gerrit (postfach@curius.de) am 23.08.2020 06:00


26.07.2020

Bjoern Schiessle (BeS)

Nextcloud and OpenID-Connect

%!s()

If you looked at the Nextcloud app store you could already find OpenID-Connect connectors before but since Nextcloud 19 it is an officially supported user back-end. So it was time for me to have a closer look at it and to try it out.

Get a OpenID Connect provider

First step was to get an OpenID-Connect provider, sure I could have chosen one of the public services. But why not have a small nice provider running directly on my machine? Keycloak makes this really simple. By following their Getting Started Guide I could setup a OpenID-Connect provider in just a few minutes and run it directly on my local demo machine. I will show you how I configured Keycloak as an OpenID-Connect provider for Nextcloud but please keep in mind, this is the first time I configured Keycloak and my main goal was to get it running quickly to test the Nextcloud connector. It is quite likely that I missed some important security setting which you would like to enable for a productive system.

After installing Keycloak we go to http://localhost:8080/auth/ which is the default URL in “standalone” mode and login as admin. The first thing we do is to configure a new Realm in the “Realm Settings”. Only “Name” and “Display name” need to be set, the rest can be kept as it is:

Next we move on to the “Clients” tab, and created a new client:

Set a random “Client ID”, I chose “nextcloud” in this example, and the root URL of your Nextcloud which is http://localhost/stable in this case. After that we get redirected to the client configuration page. Most settings are already set correctly. We only need to adjusted two more settings.

First we set the “Access Type” to “confidential”, this is needed in order to get a client secret which we need for the Nextcloud setup later on. While the “Valid Redirection URIs” work as it is with the wildcard, I used the one proposed by the Nextcloud OIDC app http://localhost/stable/index.php/apps/user_oidc/code. This is the Nextcloud end-point to which Keycloak will redirect the user back after a successful login.

Finally we create a user who should be able to login to Nextcloud later.

While technically the “Username” is enough I directly set E-Mail address, first- and second name. Nextcloud will reuse this information later to pre-fill the users profile nicely. Don’t forget to go to the “Credentials” tab and set a password for your new user.

That’s it, now we just need to grab a few information to complete the Nextcloud configuration later on.

First we go back to the “Realm Settings” of the “OIDCDemo”, under “OpenID Endpoint Configuration” we get a JSON document with all the parameter of our OpenID-Connect end-point. For Nextcloud we only need the “authorization_endpoint” which we find in the second line of the JSON file.

The second value is the client secret. We can find this in the credential tab of the “nextcloud” client settings:

Nextcloud setup

Before we continue, make sure to have this line in your config.php 'allow_local_remote_servers' => true,, otherwise Nextcloud will refuse to connect to Keycloak on localhost.

Now we can move on and configure Nextcloud. As mentioned before, the official OpenID-Connect app was released together with Nextcloud 19, so you need Nextcloud 19 or later. If you go to the Nextcloud apps management and search for “openid” you will not only find the official app but also the community apps. Make sure to chose the app called “OpenID Connect user backend”. Just to avoid misunderstandings at this point, the Nextcloud community does an awesome job! I’m sure the community apps work great too, they may even have more features compared to the new official app. But the goal of this article was to try out the officially supported OpenID-Connect app.

After installing the app we go to the admin settings where we will find a new menu entry called “OpenID Connect” on the left sidebar. The setup is quite simple but contains everything needed:

The app supports multiple OpenID Connect providers in parallel, so the first thing we do is to chose a “Identifier” which will be shown on the login page to let the user chose the right provider. For the other fields we enter the “Client ID”, “Client secret” and “Discovery endpoint” from Keycloak. After accepting the setting by clicking on “Register” we are done. Now let’s try to login with OpenID Connect:

As you can see, we have now an additional button called “Login with Keycloak”. Once clicked we get re-directed to Keycloak:

After we successfully logged-in to Keycloak we get directly re-directed back to Nextcloud and are logged-in. A look into our personal settings shows us that all our account detail like the full name and the email address where added correctly to our Nextcloud account:

von Björn Schießle (bjoern@schiessle.org) am 26.07.2020 06:00


24.07.2020

Christian Schmitt (slater)

Die ersten Arbeitsstunden

Dann ist es heute soweit mit den ersten Arbeitsstunden für den Schwinmverein…

Mal schauen wie das wird

von Slater am 24.07.2020 14:54


15.07.2020

Darian (thoys)

Daten auf dem Handy ohne W-Lan oder Funk – USB C LAN (RJ45) Adapter

Unterwegs ergibt es total Sinn, dass man sein Handy oder Tablet auf Empfang hat. Nun sitze ich seit Corona im Home-Office am Schreibtisch – bewege mich also nicht – und nutze trotzdem eine Technik, die für Bewegung im Freien gemacht ist. Natürlich kann ich mich zu Hause ins W-LAN einloggen, das reduziert die Strahlung für die Allgemeinheit und beschränkt den Funkradius auf das, was mein Router leistet. Aber geht es noch weniger?

Nach einiger Suche bin ich auf diesen Adapter gestoßen:

Netzwerkkabel auf USB-C Adapter

Gefunden, gekauft, ausprobiert, funktioniert großartig. Ich kann nun während des Arbeitens ein LAN-Kabel an mein Handy, das meistens auf meinem Schreibtisch liegt, anschließen und die mobilen Daten abschalten. Messenger, Browser, Aktualisierungen usw. funktionieren weiterhin tadellos und viel schneller. In diesem Video könnt ihr meinen Speedtest anschauen – das Internet ist jetzt nicht mehr abhängig vom Fumkturn, sondern von meinem privaten Anschluss (50 Mbit/s):

Außerdem merke ich, dass durch die Deaktivierung der Mobilen Daten (funktioniert automatisch beim Einstecken) mein Akku länger hält. Es scheint viel weniger Strom zu verbrauchen, wenn die Daten aus dem Kabel kommen, als wenn sie zum nächsten Funkturm oder per W-LAN zum Router gesendet werden.

Technisch gesehen ist es einfach ein Adapter von RJ45 (LAN) auf USB C. Einzig SMS und Anrufe kommen nun über die Funkverbindung.

Nun wäre natürlich schön gewesen, wenn ich meinen Akku gleichzeitig hätte laden können. Aber das können die Adapter nicht. Ich werde fleißig weiter suchen, vielleicht gibts ja irgendwann einen.

Mein kleines Fazit:

🙂🙁
Günstig
Funktioniert ab Android 3.1
Einfach
Akku hält länger
Schnelles Internet auf dem Handy
Perfekt für die Arbeit am Schreibtisch
Weniger Funkstrahlung
Funktioniert nicht mit POE
(Laden und Daten gleichzeitig)

Ich kann nicht rumlaufen und verlege dauernd den Adapter ; -)

Jetzt interessiert mich natürlich, wie gut das bei eurem Smartphone oder Tablet funktioniert hat?
Eure Antwort und eventuelle Fragen könnt ihr einfach hier in die Kommentare schreiben.

-<-,–{@ Euer Darian
Themenübersicht und Kauf

von admin am 15.07.2020 15:45


13.07.2020

Christian Schmitt (slater)

Zu einfach Geld auszugeben

Habe gerade über die Apple Seite meine neue Watch bestellt und mich für die 0% Finanzierung entschieden.

Alles ging online und total unkompliziert.

Ist schon fast erschreckend wie schnell und unkompliziert auf einmal Geld ausgegeben werden kann

von Slater am 13.07.2020 12:49


06.04.2020

Malte Schmidt (maltris)

webh.pl VPS Review

Vergangene Woche wurde ich auf webh.pl aufmerksam, einen Internet Service Provider mit Standort Lodz, Polen. Nach kurzer Anfrage erhielt ich die Möglichkeit, eins ihrer VPS-Pakete für über eine Woche unter die Lupe zu nehmen. Generell bin ich hin und wieder auf der Suche nach kleinen, effizienten, zumeist virtuellen Systemen, auf denen unter anderem diese Webseite gespeichert und ausgeliefert werden kann. Bislang fuhr ich mit servercow.de, einem Dienst vom mailcow-Entwickler André Peters, sehr gut. Und auch weiterhin bin ich von seinem Service begeistert und werde ihm keineswegs den Rücken kehren. Dennoch schadet es sicher nicht, einmal einen Ausflug zu anderen Anbietern zu wagen und deren Benutzerfreundlichkeit und Leistungen in ein Verhältnis zu setzen.

Im weiteren Verlauf dieses Artikels werde ich die einzelnen Komponenten ausgiebig testen und versuchen, die Ergebnisse relativ mit früheren Tests vergleichen.

Sollte euch der Test gefallen haben und solltet ihr euch für webh.pl entscheiden, würde ich mich freuen, wenn ihr meinen Referral-Link oder -Code bei der Registration/Bezahlung verwenden würdet. Vorteil für euch: 20% Rabatt auf die erste Bezahlung:

Für den Referral-Link hier klicken oder den Promo-Code “PROMO46344” verwenden.

Intro

Bei dem Test-VPS handelt es sich um das Paket “KVM Standard” mit folgenden Leistungsmerkmalen:

  • 4 vCPUs
  • 8GB RAM
  • 80GB SSD Speicher (500GB/1000GB HDD Speicher für 40/80 Zloty zubuchbar)
  • keine Limitierung für Datentransfers

Der Preis liegt in dieser Ausstattung bei 90 Zloty pro Monat, derzeit sind das 19,64 Euro. Ist man mit 2 vCPUs zufrieden, drückte das den Monatspreis auf 60 Zloty pro Monat, etwa 13,09 Euro.

Zusätzliche Daten

  • Standort Polen (Lodz)
  • SLA von 99,9%
  • Root-Zugriff
  • Jederzeit Zugriff via VNC
  • Installation von individuellen ISO-Dateien
  • Skalierbarkeit (die Grundpakete können später im Webinterface beliebig skaliert werden)
  • Automatische, stündliche Snapshots
  • Snapshots werden 14 Tage rückwirkend aufbewahrt
  • Snapshots können vom vmmanager aus wiederhergestellt werden
  • Der Kunde erhält einen zusätzlichen virtuellen Server für die Wiederherstellung von Daten aus Snapshots
  • Snapshots haben keinen Einfluss auf die Performance des Servers
  • Angegebene Ressourcen werden garantiert
  • Keine Einschränkungen für Gameserver oder andere netzwerkintensive Anwendungen, keine Blockade von Torrents

Bezahlmöglichkeiten

  • EU-Banküberweisung
  • PAYU (VISA und MasterCard)
  • PayPal

Die Webinterfaces

Registration und Billing

Die Registration erfolgte unter https://ssl.webh.pro/ und war äußerst schnell und unkompliziert erledigt.

Das “ISPsystem billmanager“-basierte Interface ist übersichtlich, wirkt jedoch etwas altbacken. jedoch bietet es in übersichtlicher Form alle notwendigen Einstellungen und Übersichten. Einen sehr positiven Eindruck erhalte ich von der Geschwindigkeit des Interfaces.

VPS-Management

Die Steuerung des VPS ansich erfolgt im “ISPsystem vmmanager”-basierten Webinterface. Dieses passt designtechnisch zum Billing-Interface, dient jedoch explizit der Verwaltung von VPS.

Mein Test-VPS wurde bei Erstellung sofort mit CentOS 7 eingerichtet. Eine Neuinstallation ist über das Interface leicht zu erreichen, dabei konnte ich zwischen folgenden Presets wählen:

  • CentOS 7
  • CentOS 8
  • Debian 8
  • Debian 9
  • Debian 10
  • FreeBSD 11
  • FreeBSD 12
  • Ubuntu 16.04
  • Ubuntu 18.04

Diese wiederum bieten unterschiedliche “Recipes”, also “Rezepte”, mit denen ich automatisiert bestimmte Anwendungen vorinstallieren lassen kann:

  • Bitrix CRM
  • Django
  • ISPmanager Lite
  • LAMP
  • OpenVPN
  • Redmine
  • Teamspeak
  • Tomcat
  • VMmanager

Hier merke ich: Es wird sich Mühe gegeben, indem man aktuelle Betriebssysteme fertig zur Installation anbietet und dem Kunden so Zeit und Aufwand spart.

Zum Test entschied ich mich für ein aktuelles Ubuntu 18.04 “bionic”, da ich mir hiermit neben einem aktuellen Kernel auch aktuelle Versionen der Tools für Netzwerk- und Performancetests erhoffte. Leider stellte sich später heraus, dass diese Entscheidung einen teil meiner Netzwerk-Performancetests stören würde.

Bequeme Zusatzfunktion: Ich kann im vmmanager direkt meinen SSH-Pubkey angeben, sodass dieser direkt hinterlegt wird und ich mir somit einen lästigen Passwort-Login spare. Leider führt im Fall Ubuntu 18.04 diese Funktion dazu, dass eine Reinstallation sich aufzuhängen scheint – hier besteht noch Verbesserungsbedarf.

Nützlich: webh.pl erlaubt es dank entsprechender Virtualisierungstechnologie, Systeme mit individuellen vom Kunden hochladbaren ISO-Dateien zu installieren. Wollte ich also Fedora installieren, welches webh.pl nicht als fertiges Image anbietet, könnte ich dies über diese Funktion recht einfach tun. Mit entsprechender Konfiguration (Festplattentreiber, Netzwerktreiber) ließ sich im Test sogar ein uraltes Windows XP Pro SP3 installieren:

Um von den nützlichen Logging-Funktionen, auch dem Performance-Logging, beider Interfaces gebrauch zu machen, empfiehlt es sich, die Zeitzone im Interface korrekt zu konfigurieren. Diese stand per default auf “Afrika/Windhoek”, was einen Zeitversatz bedeutet und unter Umständen für Verwirrung sorgen könnte.

Allgemeines

Reinstallationen

Ubuntu 18.0453 Minuten (mit SSH-Key, abgebrochen)
Ubuntu 18.0434 Minuten (mit SSH-Key, abgebrochen)
Ubuntu 18.046 Minuten (ohne SSH-Key)
Ubuntu 16.045 Minuten
CentOS 75 Minuten
CentOS 85 Minuten
FreeBSD 1212 Minuten
FreeBSD 1115 Minuten
Debian 105 Minuten
Debian 94 Minuten
Debian 85 Minuten
Tabelle: Dauer von Reinstallationen unterschiedlicher Betriebssysteme

Die Reinstallationen funktionieren zuverlässig, sauber und schnell. Wird jedoch über das Webinterface ein SSH-Pubkey eingegeben, so hängt sich das System bei der Installation auf und reagiert nicht mehr. Startet man es dann manuell neu, wird man automatisch in die GRUB2-Kommandozeile eingeloggt, da GRUB nicht vollständig konfiguriert wurde.
Eine Reinstallation ohne vorher eingegebenem SSH-Key funktioniert fehlerfrei.

Nach der erfolgten Installation kann ich nun also meinen SSH-Key unter Zuhilfenahme des Passworts auf die Maschine kopieren und mit der Einrichtung meines Servers fortfahren:

ssh-copy-id root@91.205.75.239
ssh root@91.205.75.239

IP-Adressen

Eine Recherche der mir zugewiesenen IPv4 ergab, dass die IP bereits von anderen vorherigen Kunden genutzt wurde. Ein Blacklist-Check lieferte jedoch ein sauberes Ergebnis. Eine entsprechende Bereinigung und Cooldown-Periode wird von entsprechend guten Internet Service Providern nach Kündigung vorgenommen.

Support

webh.pl bietet Support unter anderem in ihrer Muttersprache Polnisch, aber auch in Englisch und Deutsch an. 4 mal habe ich den Support unvermittelt kontaktiert und die Reaktionszeit aufgezeichnet.

Die Antworten kamen zügig und man kann in diesem Preissegment und ohne zugesicherte Support-Antwortzeiten wirklich nichts bemängeln:

27.03.2020 20:32 -> 20:342 Minuten
28.03.2020 07:54 -> 09:15159 Minuten
29.03.2020 20:41 -> 20:454 Minuten
02.04.2020 08:58 -> 09:3335 Minuten
webh.pl Support-Reaktionszeiten

Hostsystem und Virtualisierungslösung

Laut dmidecode kommt ein Red Hat Enterprise Linux 7 auf dem Hostsystem zum Einsatz. Zugewiesen sind der VM wie bereits erwähnt 4 vCPU-Kerne mit Taktraten von je 2793 MHz.

/proc/cpuinfo verrät in diesem Fall nicht den konkreten Typ der CPU, jedoch lässt sich erahnen, um welchen es sich handelt (Skylake Model 85, 4 MiB L2 Cache, 2793 MHz, Stepping 4):

4112 Xeon Silver $ 473.00 11 July 2017 4 8 2.6 GHz 3 GHz 85 W 4 MiB 8.25 MiB DDR4-2400 768 GiB

CPU-Vulnerability Mitigations

root@m:~# tail /sys/devices/system/cpu/vulnerabilities/*
==> /sys/devices/system/cpu/vulnerabilities/itlb_multihit <==
KVM: Vulnerable

==> /sys/devices/system/cpu/vulnerabilities/l1tf <==
Mitigation: PTE Inversion

==> /sys/devices/system/cpu/vulnerabilities/mds <==
Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown

==> /sys/devices/system/cpu/vulnerabilities/meltdown <==
Mitigation: PTI

==> /sys/devices/system/cpu/vulnerabilities/spec_store_bypass <==
Vulnerable

==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <==
Mitigation: usercopy/swapgs barriers and __user pointer sanitization

==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <==
Mitigation: Full generic retpoline, STIBP: disabled, RSB filling

==> /sys/devices/system/cpu/vulnerabilities/tsx_async_abort <==
Not affected

Konkret ist es so, dass die potenziellen Sicherheits- und Denial of Service-Lücken itlb_multihit, MDS und spec_store_bypass laut Gastsystem nicht abgeschaltet scheinen und daher potenziell ausgenutzt werden können. Da es sich jedoch um eine virtualisierte Lösung handelt, ist es durchaus denkbar, dass diese Lücken in Wirklichkeit umgangen werden, dies aber vom Gastsystem nicht feststellbar ist.

“I have received information that we’re not showing patches in /sys/devices/system/cpu/vulnerabilities/* for security reasons.”

webh.pl Support

Besonderheit ext4 reserved space bei vergleichsweise kleinen Festplattenspeichern

Aufgrund der per Standard knapp bemessenen 40/80G an Speicherplatz, ist es sinnvoll, Speicher zu sparen wo möglich. Empfehlenswert ist hierbei unter anderem, bei ext4-Dateisystemen den “Reserved Space” (normal 5%) zu verkleinern oder, wenn möglich, sogar komplett abzuschalten.

tune2fs -m 0.5 /dev/vda2 # Reservierter Speicher auf 0,5%
tune2fs -m 0 /dev/vda2 # Reservierter Speicher deaktiviert

Besonderheit Swapfile

Im neuesten Ubuntu LTS wurde begonnen, nicht mehr länger SWAP-Partitionen zu erstellen, sondern auf Swapfiles zu setzen. So auch im Standardsetup von webh.pl: Ein 2G großes Swapfile wird erstellt, welches selbstverständlich von dem zugesicherten Festplattenspeicher abgezogen wird. Möchte man diesen Speicher freigeben, kann man das Swapfile deaktivieren und entfernen. Es ist keine Rekonfiguration der Partitionstabelle mehr notwendig.

Routing

Das Routing spielt bei einem Server meist eine wichtige Rolle, da mit jedem Hop, der nicht passiert werden muss, die Latenz sinkt, was sich wiederum auf Anwendungen und deren Kommunikation auswirkt. Daher testete ich das Routing aus den Netzen unterschiedlicher Internetanbieter und von unterschiedlichen Standorten aus.

tkchopin.pl – webh.pl

servercow.de (meerfarbig Gmbh & Co. KG) – webh.pl

hetzner FSN1-DC1 (Falkenstein) – webh.pl

Vodafone DSL (Stuttgart) – webh.pl

Die Maps wurden generiert mit dem Leaflet Traceroute Mapper von Peter Thomson, welcher wiederum auf dem Traceroute Mapper von Stefan Sundin basiert, die Kartendaten stammen von OpenStreetMap.

Zumindest im Fall des Endkunden-Zugangs über tkchopin.pl, einem lokalen Internet- und Kabel-TV-Anbieter, erhielt man zum Zeitpunkt des Tests ein vergleichsweise direktes Routing. Für den Zugriff aus Deutschland war zweimal das Routing über Warschau und Stettin unumgänglich.

Das Routing von hetzner in Falkenstein nach webh.pl in Lodz war absurder, der fünfte Hop erfolgte über Großbritannien, was jedoch auch auf einen Fehler in der Datenbank von ipinfo.io zurückzuführen sein kann.

Netzwerkkonfiguration

Es handelt sich auf dem Server um eine statische Netzwerk-Konfiguration, welche im Fall von Ubuntu 18.04 nicht netplan/networkd-basierend ist, sondern auf die ältere ifupdown-Konfigurationsmethode in /etc/network/interfaces setzt.

auto ens3
iface ens3 inet static
address 91.205.75.239/24
gateway 91.205.75.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 1.1.1.1 8.8.4.4
dns-search webh.me

DNS

Ein Blick in die /etc/resolv.conf zeigt, da es sich um Ubuntu 18.04 handelt, dass systemd-resolved zum Einsatz kommt. Das war zu erwarten. Um also die wirklich genutzten DNS-Resolver herauszufinden, ist es notwendig, “systemd-resolve –status” auszuführen oder die /etc/systemd/resolved.conf oder die /etc/network/interfaces zu konsultieren.

Per default sind auf dem Testsystem die DNS-Resolver 1.1.1.1 (Cloudflare) und 8.8.4.4 (Google Public DNS Secondary) hinterlegt.

IPv6

Während des Tests fiel mir auf, dass das Testsystem über keine IPv6 verfügte. Auch der Versuch, eine solche über den vmmanager aufzuschalten schlug fehl. Eine Nachfrage bei webh.pl sorgte dann für Klarheit:

“We’re not offering ipv6 for now, but we’re going to offer it in the future.”

webh.pl Support

Demnach wird webh.pl IPv6 in Zukunft anbieten, was meiner Meinung nach im Jahre 2020 auch ein Muss darstellt.

Reverse-DNS

Im Test wurde nicht klar, wie Reverse-DNS-Einträge zu ändern sind. Zwar bietet der vmmanager eine solche Funktion, jedoch sorgte eine Anpassung dort nicht für das gewünschte Ergebnis. Auf Anfrage teilte der Support mit

“We’re using different IP subnets for our clients. For some of them, clients can change revdns using control panel, for rest we can change it upon request.”

webh.pl Support

Es handelt sich hierbei also offenbar um eine IP aus einem der Subnetze, für die eine Änderung der Reverse-DNS-Einträge nur aufschließlich über den webh.pl-Support erfolgen kann.

Performancetests

Netzwerk-Datentransferraten

Für die Datentransfers nutzte ich weiterhin speedtest-cli und wählte daher folgende Peers gewählt:

  • 30907) Deutsche Telekom Technik GmbH (Berlin, Germany) [394.94 km]
  • 4886) Stadtwerke Neumünster GmbH (Neumunster, Germany) [538.44 km]
  • 18667) meerfarbig GmbH & Co. KG (Frankfurt, Germany) [818.46 km]
  • 21514) Contabo GmbH (Munich, Germany) [855.26 km]

Diese werden im Abstand von 20 Minuten jeweils doppelt sequenziell getestet und die Ergebnisse mittels –csv Parameter und entsprechender Ausgabeumleitung als CSV in eine Tabelle zur späteren Verarbeitung geschrieben, etwa so:

30907,Deutsche Telekom Technik GmbH,Berlin,2020-03-28T07:17:20.127799Z,422.89016707081726,27.723,189797326.6667173,4150220.759736613,,91.205.75.239
30907,Deutsche Telekom Technik GmbH,Berlin,2020-03-28T07:17:41.287859Z,422.89016707081726,23.271,188071670.36669397,4150181.2915712413,,91.205.75.239
20478,Contabo GmbH,Nuremberg,2020-03-28T07:18:02.505737Z,646.0977991623539,35.526,182002432.52288514,4067378.244187205,,91.205.75.239

Leider birgt die von Ubuntu paketierte speedtest-cli einen Bug, welcher hier dokumentiert ist und dafür sorgt, dass Upload-Tests bei etwa 4 Mbit/s limitiert werden. Unglücklicherweise wurde ich auf diesen Umstand erst nach dem Test von einer Woche Testdauer aufmerksam. Aus diesem Grund beinhalten die folgenden Graphen lediglich Download-Datenpunkte.

Downloadraten aus Richtung der 4 unterschiedlichen Peers, Angaben in Mbit/s

Die Transferraten sind relativ stabil zwischen 192 und 177 Mbit/s jenach Peer. Vereinzelt gab es Streuung nach unten in den Abendstunden und einigen Ausreißern, welche hauptsächlich auf die Gegenstellen zurückzuführen sind.

Zuvorkommend: Bereits nach dem Testzeitraum bot mir webh.pl auf Nachfrage an, den Server zwei weitere Tage testen zu können, um zumindest einige Ergebnisse zu den Uploadraten zu sammeln.

RAM-Benchmark

Für den RAM-Benchmark mache ich mir wieder sysbench und dessen memory-Modul zunutze. Ich teste den Datendurchsatz von Schreib- als auch den von Lesevorgängen.

sysbench --threads=4 memory run

Pro Testdurchlauf erhalte ich damit folgenden Output:

Total operations: 39587238 (3958095.14 per second)
38659.41 MiB transferred (3865.33 MiB/sec)
Durchsatzraten lesend und schreibend (Datenpunkte “lesend” wurden seltener und erst später gesammelt)

Im Test zeigte sich, dass die Durchsatzraten lesend zwischen 16000 MiB/s und 18000 MiB/s lagen und nur sehr selten unter 16000 MiB/s fielen.
Die Durchsatzraten schreibend hingegen lagen meist bei 5000 MiB/s und fielen nur selten unter 4500 MiB/s.

Im Ranking liegt das Testsystem von webh.pl damit hinter meinem in die Jahre gekommenen ThinkPad T420 (wenn ausgestattet mit zwei DDR3-1333-Riegeln) und dem performantesten meiner Servercow-vServer. Absolut betrachtet bietet webh.pl jedoch trotzdem vernünftige und auch über längere Zeiträume stabile RAM-Durchsatzraten.

“All servers have ddr4 ecc ram bands.”

webh.pl Support

CPU-Benchmark

sysbench CPU Benchmark über die gesamte Testdauer

Der CPU-Test fiel kleiner aus, da ich hierzu diesmal nur die “events per second” aufnahm. Hier zeigte sich, dass dieser Wert über den gesamten Testzeitraum hinweg zwischen 3600 und 4400 Events lag. Während dieser Wert ansich keine Aussage über die absolute CPU-Leistung zulässt, zeigt er doch die Abweichungen in bestimmten Lastsituationen (beispielsweise nachts, wenn CPU-intensive Anwendungen wie zur Kompression von Logs laufen).

Da ich zu dieser Metrik derzeit keine weiteren Vergleichswerte habe, fällt es hier schwer, die Ergebnisse ins Verhältnis zu setzen. Mein mittelmäßig ausgelasteter i5-2520M im ThinkPad T420 schaffte im Schnitt 2500 events pro Sekunde.

Bessere CPU-Tests bietet beispielsweise die Phoronix Test Suite, indem sie echte Anwendungsfälle (beispielsweise das kompilieren einer bestimmten Kernel-Version) abdeckt und die benötigte Zeit misst und aufzeichnet.

“In our infrastructure we use different processors within Intel Xeon Scalable gen 1 and gen 2 series.”

webh.pl Support

IO-Benchmark

Auch für den IO-Benchmark habe ich Daten über mehrere Tage hinweg aufgezeichnet. Im Schnitt erreichte ich hier für die folgenden Modi die folgenden Performancewerte:

seq read cached/direct5900/183
rnd read cached/direct7500/171
seq write cached/direct174/48
rnd write cached/direct111/114
Angaben in MiB/s

“We have infrastructure where our hosts and storage are on different nodes. We’re attaching our working nodes to storage nodes. We’re using both ssd and nvme drives within our storage nodes and we’re currently moving everything to nvme.”

webh.pl Support

Fazit

Für wen die Systeme von webh.pl geeignet sind

Wer auf der Suche nach einem VPS mit stabiler Internetanbindung, gutem Standort und äußerst schnellem, freundlichem und zuvorkommendem Support ist, ist mit webh.pl gut bedient. Die Angebote sind nicht die billigsten, aber das Preis/Leistungs-Verhältnis stimmt definitiv.

webh.pl kommt in meinem Fall für zukünftige Projekte definitiv in die engere Auswahl.

Anmerkungen

Derzeit wird die Webseite von webh.pl in die englische und russische Sprache übersetzt. Deutsch soll laut webh.pl anschließend auch folgen. Es zeigte sich jedoch auch, dass eine automatische Übersetzung mit Google Translator völlig ausreichend ist, da die anschließenden Webinterfaces in vielen unterschiedlichen Sprachen, darunter Deutsch, verfügbar sind.

Bis auf die hängende Installation mit vorab eingegebenen SSH-Keys, die Tatsache, dass es noch kein IPv6 gibt und in manchen Fällen die Änderung von Reverse-DNS-Einträgen nicht durch den Kunden möglich ist, bin ich positiv beeindruckt.

Während dieses Tests …

Für diesen Test wurden insgesamt circa 1810G an Daten herunter- und 90G an Daten hochgeladen. Ferner wurden 203296740 ms (~56h) CPU-Zeit verbraucht und 211.680.000 IOPS durchgeführt.

von maltris am 06.04.2020 20:12


07.03.2020

Bjoern Schiessle (BeS)

Real-time communication and collaboration in a file sync & share environment - A introduction to Nextcloud Talk

%!s()

At the beginning of this year I gave two times a presentation about Nextcloud Talk. First at the annual CS3 conference in Copenhagen and just one week later at FOSDEM in Brussels. Nextcloud Talk provides a full featured real-time communication platform. Completely Free Software, self-hosted and nicely integrated with all the other aspects of Nextcloud.


(This blog contain some presentation slides, you can see them here.)

von Björn Schießle (bjoern@schiessle.org) am 07.03.2020 06:00


03.03.2020

Christoph Wickert (raoul)

Hallo Welt!

Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!

von chris am 03.03.2020 08:53


25.02.2020

Thorsten Sperber (TRex)

Elektronikprojekte

Elektronikprojekte

Oder wie man das auch immer nennen möchte

Die meisten Einsteiger assoziieren und suchen sowas mit "Arduino" oder anderen Microcontrollern. Ich bin immer noch in der Erkundungsphase, ein Arduino oder gar ein Raspberry können extrem viel Komplexität abfedern und die notwendige Peripherie/Komponenten auf ein Minimum von Sensoren und Aktoren reduzieren. Und weil ich das tendenziell eher langweilig finde (programmieren kann jeder), suche ich bewusst nach Projekten, die ihren Fokus woanders haben. Was mir bei bisherigen "Top 10 Arduino Projects" immer auf den Zeiger ging, war die bunte Durchmischung von "bringe drei LEDs zum Leuchten", "hacke deinen SmartTV" und "baue deinen eigenen Quadcopter". Ich hoffe, dass ich das besser hinbekomme. Was ich nicht beschreiben werde, sind einzelne elektronische Komponenten. Das ist woanders besser beschrieben. Was ich an Begriffen verwende, sollte wahlweise bekannt oder die Recherche dazu Teil des Projekts sein.

Weiterlesen… (3 min verbleiben zum Lesen)

von Thorsten am 25.02.2020 19:29


05.02.2020

Marco Laspe (rockiger)

33 Linux Apps, die du lieben wirst






Icon: Apps for Linux

Ich habe hier Anwendungen aufgelistet, die ich selbst auf meinem Linux-Laptop nutze – die meisten sind Open-Source-Software; alle sind kostenlos und großartig zu benutzen.

Um sie zu installieren, verwendest du am Besten, den Paketmanager deiner Linux-Distribution.

Aktuell habe ich keine Apps aufgeführt, die ich persönlich nicht benötige. Deswegen findest du weder einen Video-Editor noch eine Instant-Messaging-App. Wenn du gute Vorschläge hast, möchte ich dich ermutigen, sie in den Kommentaren zu nennen. Auch habe ich keine Webseiten genannt, die ich für bestimmte Aufgaben nutze, wie z.B. Google Calendar oder Gmail.

Abschließend habe ich Systemprogramme wie die Desktopumgebung ausgeklammert. Persönlich nutze ich KDE, aber die gelisteten Apps funktionieren mit jeder Desktopumgebung.

Internet

Firefox

Firefox ist der freie Web-Browser des Mozilla-Projekts. Es gibt eine Menge Erweiterungen, um deine Surf-Erfahrung anzupassen. Firefox wirkt etwas schneller und Ressourcen-schonender als Chromium.

Chromium

Chromium ist die freie Variante von Google’s Chrome Browser. Chromium besitzt ein minimales User-Unterface und es sind für Chromium eine Unmenge an Erweiterungen vorhanden. Anders als Chrome, kommt Chromium nicht mit dem Flash-Player und einigen unfreien Video-Codecs. Ein schönes Feature ist die Fähigkeit, bestimmte Websites im Anwendungs-Menu speichern zu können. Diese öffnen sich dann als unabhängige Anwendung ohne Browser-Tabs.

THUNDERBIRD

Thunderbird ist der freie E-Mail-Client des Mozilla-Projekts. Wie Firefox ist auch Thunderbird sehr stark anpassbar und es gibt eine Menge Erweiterungen.

Office

LIBREOFFICE

LibreOffice ist die Bürosoftware für Linux. Alle Alternativen sind für seriöse Büro-Arbeit nicht geeignet. Seitdem LibreOffice von OpenOffice geforkt wurde, gewinnt die Entwicklung ständig an Fahrt. Wenn du auf der Suche nach OpenOffice bist, verwende LibreOffice.

TYPORA

Typora Typora ist ein sehr eleganter Markdown-Editor. Anders als die meisten anderen Markdown-Editoren besitzt er keine Preview-Funktion, sondern ein WYSIWIG-Interface.

StarDict

StarDict ist eine Wörterbuch-App, die auf unterschiedliche Wörterbücher zugreifen kann. Ich benutze sie, um schnell englische Worte nachzuschlagen. Dafür markierst du einfach das Wort, dass du übersetzt haben möchtest. Und schon erscheint die Übersetzung. Als Qt-Alternative bietet sich GoldenDict an.

Text Editors

Visual Studio Code

VSCode ist ähnlich wie Atom mit Web-Technologien entwickelt. Auch er ist sehr anpassbar und bietet über eine große Anzahl an Erweiterungen. Anders als Atom fühlt er sich deutlich schneller in der Benutzung an. Das Design der Oberfläche gefällt mir im Vergleich zu Atom nicht so gut. Kontraste und Abstände sind zu gering gewählt. Dies wird speziell in der Suchfunktion deutlich.

ATOM

Atom ist ein Texteditor, der mit Web-Technologien entwickelt wurde. Er ist sehr anpassbar, verfügt über eine große Anzahl Erweiterungen und ist leichter zu verwenden als Emacs. Der Nachteil von Atom ist, dass er für einen Texteditor sehr Resourcen-hungrig ist. Speziell, wenn man viele Erweiterungen gleichzeitig verwendet.

EMACS

Emacs ist ein erweiterbarer, anpassbarer Editor des GNU-Projects. Er ist wahrscheinlich der mächtigste Editor, den es gibt. Auf der anderen Seite besitzt das 1984 gestartete Projekt eine Menge Eigenarten, die die Lernkurve recht steil machen. Ich persönlich empfehle dir einen Blick auf Spacemacs oder ErgoEmacs zu werfen, um die Emacs-Erfahrung ein wenig zu erleichtern.

Todo-List

AKIEE

Das ist jetzt schamlose Eigenwerbung: Ich bin der Akiee-Author, aber ich glaube, dass Akiee einer der nützlichsten Task-Manager ist, die erhältlich sind. Seine Benutzung basiert auf der Kanban-Methodik und macht es einfach Aufgaben zu priorisieren und sich darauf zu konzentrieren, was man als Nächstes macht.

ORG-MODE

Org-Mode ist ein spezieler Modus in Emacs, der einem die Möglichkeit gibt, Notizen zu machen, Aufgaben zu planen und Texte zu strukturieren. Für Menschen die Emacs noch nicht benutzen, ist die Einarbeitungszeit leider beträchtlich.

Notizen

ZIM

Zim ist ein persönliches Wiki, mit dem einfach seine eigenen Notizen verwalten kann. Mit Zim kann man seine Notizen wie in einem Wiki verbinden und organisieren. Es kommt mit einigen Erweiterungen, wie einem LaTex-Editor.

LEO

Leo ist eine App zum Gliedern von Texten. Speziell, wenn du eine Menge Text zu schreiben hast, nutze Leo für Notizen, Gliederungen und sogar Literate-Programming. Wie bei den meisten mächtigen Werkzeugen benötigst du eine längere Zeit der Einarbeitung.

BASKET

Basket ist eine mächtige Notiz-App. Basket hat deutlich mehr Features als Zim – aber auch eine höhere Lernkurve.

FREEMIND

FreeMind ist eine Mindmapping-Software, die einfach zu bedienen ist und für alle Plattformen erhältlich ist. Wenn du gerne mit Mindmaps arbeitest, solltest du dir FreeMind genauer ansehen.

Developer-Tools

VIRTUALBOX

Wenn du eine Virtualsierungs-Lösung auf deinem Linux-Desktop brauchst, ist VirtualBox der einfachste Weg. Es gibt noch andere Lösungen, aber keine ist so einfach zu benutzen.

SMARTGIT

SmartGit ist eine einfach zu benutzende, voll funktionsfähige Git-Oberfläche. Sie ist leider keine freie Software, aber für den persönlichen Gebrauch kostenlos.

Security

KEEPASSX

Die Benutzung eines Passwort-Managers ist wahrscheinlich die beste Maßnahme, die man ergreifen kann, um die eigene Sicherheit im Internet zu verbessern. Für mich ist KeePassX die am besten funktionierende Lösung.

Multimedia

VLC

VLC ist einer der bekanntesten Multimedia-Spieler überhaupt. Und das aus gutem Grund. Er spielt fast jede Art von Multimedia-Datei ab. Wenn dein vorinstallierter Multimedia-Spieler nicht deine Erwartungen erfüllt, solltest du VLC einmal ausprobieren.

SPOTIFY DESKTOP

Spotify-Desktop ist kein besonders gutes Stück Software, aber wenn du Spotify-Nutzer bist, gibt es leider keine bessere Alternative.

Grafik

GIMP

Gimp ist deine Lösung, wenn du eine Bildbearbeitungssoftware unter Linux benötigst. Es kann die meisten Dinge, die Photoshop kann. Nutzer, die andere Bildbearbeitungssoftware gewohnt sind, benötigen manchmal ein wenig Einarbeitungszeit.

INKSCAPE

Inkscape ist ein Programm zum Bearbeiten und Erstellen von Vektor-Grafiken, dass du für professionelle Designs nutzen kannst. Es besitzt flexible Zeichenwerkzeuge, kann eine Menge Dateiformate (inklusive PDF) importieren und hat ein mächtiges Textwerkzeug.

SCRIBUS

Scribus ist ein DTP-Programm mit dem man Booklets, Broschüren, Magazine und alles, was man sonst noch so drucken lässt, erstellen kann.

Lernen

ANKI

Anki ist eine intelligente Karteikarten-App, mit der man einfach Fakten lernen kann – wie beispielsweise Vokabeln.

Spiele

STEAM

Steam ist eine Internet-Vertriebsplattform für Computerspiele. Du findest dort über 160 kommerzielle Spiele für Linux. Wenn du ernsthaft unter Linux spielen willst, kommst du an Steam nicht vorbei.

FROZEN BUBBLE

Frozen Bubble ist ein niedliches Logik-Spiel für Linux. Es besitzt einen guten Soundtrack und kann süchtig machen.

FREECIV

FreeCiv ist ein freier Civilization-Klon. Wenn du das Original magst, wirst du FreeCiv lieben.

Zubehör

CLIPIT

ClipIt ist ein leichtgewichtiger Zwischenablage-Manager. Wenn deine Desktopumgebung keinen beinhaltet, solltest du definitiv einen installieren. ClipIt wird Wunder für deine Produktivität bewirken.

ALBERT

Albert ist eine Produktivitäts-App, die dich einfach Anwendungen starten, Dateien suchen, deine Lesezeichen überblicken und sogar einfache Rechnungen durchführen lässt.

AUTOKEY

AutoKey ist ein Tool, mit dem du Aufgaben automatisieren und auf Knopfdruck ausführen lassen kannst. Es erlaubt dir eine Sammlung von Skripten und Text-Phrasen zu speichern, und die mit Abkürzungen und Tastenkombinationen zu versehen. AutoKey ermöglicht dir, bei bedarf einen Text einzufügen – aus jedem Programm heraus, das du gerade nutzt.

QTerminal

QTerminal ist ein leichtgewichtiges Terminal-Programm, dass es dir erlaubt, einzelne Terminals in einem Kachel-artigen Layout zu öffnen. Qterminal ist sehr praktisch, wenn du gleichzeitig mehrerer Terminals benutzen möchtest. Anwender die Gnome, Xfce, Ubuntu und Mint benutzen, können auch Tilix installieren, dass besser in ihre Desktopumgebung integriert ist.

Yukuaka

Yukuake ist ein Terminal, das von der Bildschirm-Spitze herunter scrollt, wenn man eine bestimmte Tastenkombination drückt. Es ist sehr nützlich, wenn du kurz einen Befehl im Terminal eingeben willst, ohne dabei gleich ein neues Fenster zu öffnen. Anwender die Gnome, Xfce, Ubuntu und Mint benutzen, können auch Guake nutzen, dass besser in ihre Desktopumgebung integriert ist.

SYNERGY

Synergy ist eine Anwendung, mit der man eine Maus und Tastatur auf mehreren Computern gleichzeitig nutzen kann. Man kann den Computer einfach wechseln, indem man mit der Maus über den Bildschirmrand zum nächsten Computer wechselt – wie bei einem zweiten Display.

Emulatoren

Wine Icon

Wine

Wine ist eine Windows-kompatible Laufzeitumgebung, mit der man Windows-Programme unter Linux nutzen kann. Ich benutze Wine beispielsweise um eine alte Version von OpenOffice zu verwenden, die noch mit dem Duden-Korrektor kompatibel ist.

PlayOnLinux Icon

PlayOnLinux

PlayOnLinux ist eine grafische Benutzeroberfläche für Wine. Damit ist es sehr viel einfacher Windows-Programme zu installieren und unterschiedliche Wine-Versionen zu verwalten.

The post 33 Linux Apps, die du lieben wirst appeared first on Rockiger.

von Marco am 05.02.2020 11:39


26.01.2020

Vinzenz Vietzke (vinz)

Kandidatur für das openSUSE Board #2: Neue Leute an Bord holen

Anknüpfend an die Fragen von Gerald stellte Ariez J. Vachha nun eine weitere Frage an die Kandidaten.

Ein Hinweis: Fragen und Antworten sind ursprünglich auf Englisch. Dies ist nur eine Übersetzung.

Ich würde gerne wissen, wie die Kandidaten es denjenigen, die sich beteiligen wollen, vor allem den Nicht-Programmierern, leichter machen wollen das auch tun zu können.

Danke, dass du diese Frage stellst, denn sie berührt ein (wenn nicht gar das) entscheidende Thema für openSUSE als Gemeinschaft in der nahen Zukunft.

Ich möchte meine Ansicht dazu an einem einfachen Beispiel veranschaulichen:
Wenn man opensuse.org besucht, gibt es oben rechts einen Menüpunkt namens „Mitarbeiten“. Ein Klick darauf bringt dich zum Teil der Seite über Beiträge. Dort hat man die Wahl zwischen zwei Dingen: Code und Hardware. Wenn wir Glück haben, klickt ein potenzieller Beitragender auf „Code“ und bekommt vier leicht unmotivierte Textzeilen und eine Schaltfläche „mehr herausfinden“ präsentiert. So kann man nicht freundlich und einladend sein. Hoffen wir, dass nicht zu viele Leute dadurch abgeschreckt werden.

Aber was ich als ein weitaus größeres Problem sehe – und eine Art Grundmuster in oS – ist, dass sich hinter dem „Finden Sie es heraus…“-Knopf in der Tat wirklich gute und detaillierte Informationen darüber befinden, wie man einen Beitrag leisten kann. Dokumentation, Tests, Übersetzungen und so weiter ist alles da. Aber es wird nicht in einer vernünftigen Weise kommuniziert! Es ist an verschiedenen Orten versteckt, tief im Wiki vergraben. Das Wiki ist ein guter Ort für ausführliche schriftliche Erklärungen, aber nicht, um einen ersten Schritt in den Pool zu machen.

Meine Idee ist also Teil einer ganzen noch zu definierenden Umstrukturierung von opensuse.org. Ich habe vor einer Weile einige Gedanken vorgeschlagen, wurde aber aufgrund der damaligen Umbenennungs-/Umbenennungsdiskussion gebremst. Dennoch habe ich diese Dinge immer noch auf meiner Liste, die ich diskutieren und in Angriff nehmen möchte. [1]

Natürlich ist die Website nur ein Puzzleteil. Das ganze „frisches Blut bekommen“ (wie Du es nennst) muss weiter vorangetrieben werden. Daher die Initiative des Marketing-Teams, spezielle T-Shirts für Leap 15.2 Betatester zu beschaffen. [2]
Dies ist etwas, das leicht nach außen kommuniziert werden kann und ein Türöffner für neue Menschen sein kann. Allerdings ist es dort nicht die Aufgabe eines Board-Mitglieds. Aber ich denke, es ist gut, wenn sich das Board an dieser ganzen Kommunikationsinitiative beteiligt.

Du hast weitere Fragen? Schreib mir!

[1] https://lists.opensuse.org/opensuse-project/2019-06/msg00195.html
[2] https://en.opensuse.org/openSUSE:Marketing_meeting:2020-01-08#1.3_Leap_15.2_Beta:_Promote_beta_testing

von Vinzenz Vietzke am 26.01.2020 22:59


16.01.2020

Vinzenz Vietzke (vinz)

Kandidatur für das openSUSE Board #2: Fragen und Antworten

Bereits Anfang 2019 habe ich für das Board von openSUSE kandidiert. Nachdem inzwischen wieder zwei Plätze offen sind, stehe ich auch diesmal wieder für die Aufgabe zur Verfügung und stelle mich zur Wahl.

Einen allgemeinen Überblick über meine Vorstellungen und Ziele gibt es hier.

Im Vorfeld zur Wahl stehen alle Kandidaten der Community natürlich für Fragen offen. Einen Katalog aus 5 Fragen von Gerald Pfeifer, derzeit Chairman des Boards, habe ich beantwortet und möchte diesen auch hier bereitstellen.

Ein Hinweis: Fragen und Antworten sind ursprünglich auf Englisch. Dies ist nur eine Übersetzung.

1. Was sind deiner Meinung nach die drei, vier Stärken von openSUSE, die wir kultivieren und auf denen wir aufbauen sollten?

1) Vielfalt der Features
OpenSUSE ist vor allem für die Distributionen Leap und Tumbleweed bekannt. Die große Bandbreite der verschiedenen Teilprojekte und wie sie zusammenpassen, ist eine große Stärke. Wir sollten einen Weg finden, oS mit den ganzen Projektteilen wie YaST, OBS, openQA etc. in Verbindung zu bringen.

2) „Erbe“
Linux-Distributionen kommen und gehen, manche bleiben jahrelang, andere verschwinden in den Tiefen des Internets. OpenSUSE gibt es nun schon seit Jahrzehnten und es muss diese Tatsache in Richtung einer Anerkennung als zuverlässiger Freund für den Betrieb von Computern verändern.

3) Genehmigungsfreie Gemeinschaft
Die openSUSE-Community lebt von Menschen, die einfach Dinge tun und versuchen, andere durch Ergebnisse zu überzeugen. Das ist nicht überall bei FOSS üblich. Einige andere Gemeinschaften versuchen, die Dinge über Komitees und Oberbosse zu vereinheitlichen.

2. Was sind die drei größten Risiken, die du für openSUSE siehst? (Und vielleicht Ideen, wie man sie angehen kann?)

1) Vergessen werden
2) Teilweise unbekannt bleiben
3) Im eigenen Saft schmoren

Es könnte auch andere Risiken geben, aber diese drei passen alle zu einem großen Thema: Kommunikation – oder eher dem Fehlen einer solchen.

Meine Idee, dies anzugehen, ist es, das Marketingteam (irgendwie) wiederzubeleben und als treibende Kraft für alles, was von openSUSE in Richtung des Restes der Welt geht, zu pushen. Es gibt bereits Initiativen, Artikel zu schreiben, mit Community-Leuten in Interviews zu sprechen und neues Marketingmaterial zu erstellen. Dies erfordert natürlich Koordination und Manpower, aber es läuft bereits recht gut.

Das Marketing-Team, das ich im Sinn habe, ist eine Initiative, die in zwei Richtungen arbeitet: Neben der Arbeit in Eigenregie möchte ich es offen haben für Menschen, die Ideen, Wünsche und Projekte einbringen. Mitglieder können Tickets öffnen, Nichtmitglieder können E-Mails senden oder in Chatrooms erklären, was sie wollen oder brauchen. Die Marketingleute erledigen dann entweder die Anfrage selbst oder versuchen, jemanden zu finden, der bereit ist, dies zu tun, z.B. in Artwork, l10n oder einem anderen geeigneten Team.

Das Hauptziel ist es, einen konstanten Fluss interessanter Inhalte für den Rest der Gemeinschaft und für jeden außerhalb von openSUSE aufrechtzuerhalten.

Die Antwort auf die folgende Frage erweitert diesen Punkt noch ein wenig.

3. Was sollte der Vorstand anders / mehr tun?

Kommunizieren. Obwohl die meisten Leute hier (einschließlich mir) die Sache mit der Hierarchie nicht mögen, ist es etwas, das nicht ungenutzt bleiben sollte. Kurz gesagt: Wenn das Board etwas sagt, wird es weithin als etwas Wichtiges und Offizielles angesehen.
Obwohl das nur teilweise wahr ist und diametral zu dem steht, was der Vorstand wirklich ist (ein „Diener“ der Gemeinschaft), ist es sicherlich ein Weg, um Aufmerksamkeit für das gesamte Projekt zu gewinnen.

Ein Beispiel: Wählt relevante Dinge aus den Meetingnotizen aus, macht einen monatlichen Beitrag auf news-o-o, fügt ein nettes „Board News“ Emblem hinzu.

4. Wenn du einen Blanko-Gutschein vom SUSE-CEO für einen Wunsch hättest, welcher wäre das?

Ich würde ihn dafür verwenden, die Prozesse mit Heroes und der technischen Infrastruktur zu vereinfachen. Obwohl ich nicht so sehr Details kenne, höre ich oft, dass die Dinge langsam laufen und viel nachgebohrt werden muss. Und ich gehe davon aus, dass das, was dort öffentlich sichtbar ist, nur die Spitze des Eisbergs ist.

5. Was hältst du von der Stiftung? Was hältst du für ein realistisches Ergebnis dieses Unterfangens? (Und falls anders, welches Ergebnis würdest du gerne sehen?)

SUSE ist in rechtliche und finanzielle Angelegenheiten der Community involviert und wird sich höchstwahrscheinlich niemals zurückziehen. Und es würde sich falsch anfühlen, wenn man versuchen würde, alle Verbindungen dort zu kappen. Aber meine Vermutung und Hoffnung für die Stiftung ist, dass sie die Dinge klarer und getrennter gestalten wird.

Du hast weitere Fragen? Schreib mir!

(Quelle der Fragen ist hier.)

von Vinzenz Vietzke am 16.01.2020 22:23


Jörg Kruse (4A4B)

Spam über Kontaktformulare

In letzter Zeit nimmt Spam, der über Kontaktformulare von Websites versandt wird, immer weiter zu. Während früher noch in erster Linie verirrte Bots ihren Suchmaschinenspam in die vermeintliche Eintragsfelder für Blogkommentare eintrugen, handelt es sich jetzt vermehrt um zielgerichteten Spam an die Betreiber der jeweiligen Website. Auch Abwehrmethoden wie versteckte Honey-Pot-Eingabefelder verlieren dabei mehr und mehr ihre Wirkung.

Beworben werden hierbei beispielsweise Dienstleistungen wie Suchmaschinenoptimierung, Marketing oder Kundenpflege. Besonders dreist sind Mails, in denen das Spammen von Kontaktformularen beworben wird, wie z.B.:

Did you know that it is possible to send business offer totally legit?
We presentation a new unique way of sending commercial offer through feedback forms. Such forms are located on many sites.
When such requests are sent, no personal data is used, and messages are sent to forms specifically designed to receive messages and appeals.
Also, messages sent through feedback Forms do not get into spam because such messages are considered important.
We offer you to test our service for free. We will send up to 50,000 messages for you.
The cost of sending one million messages is 49 USD.

Der Erfolg dieser Spammethode ist demnach auch darin begründet, dass der Versender der Spammails ja der eigene vertrauenswürdige Server ist und der Empfänger vermutlich nur ungern einen allzu scharfen Filter implementiert, der wichtige Kundenanfragen in den Spamordner befördern könnte.

Ich habe meine eigenen Kontaktformulare nun dennoch so erweitert, dass sie das Verhalten des User Agents auswerten und gegebenenfalls den String „[Spamverdacht]“ an den Anfang des Betreffs schreiben. Auf dem Mailserver schiebt Sieve bei Vorhandensein dieses Strings die betreffende Mail in den Spamordner. Neunzig Prozent dieser Spammails kann ich dadurch filtern, bislang ohne False Positives. Vorsichtshalber schau ich aber ein mal am Tag in den Spamordner. Unterm Strich ist die Maßnahme insoweit von Vorteil, da mein Mail-Notifier (xfce4-mailwatch-plugin) so eingestellt ist, dass er bei Mails im Spamordner nicht anschlägt, und ich dadurch seltener durch Spammails von der Arbeit abgelenkt werde.

von Jörg am 16.01.2020 20:14


26.12.2019

Thorsten Sperber (TRex)

Scrape the web

Scrape the web

Kleine on-the-fly Dokumentation, wie ich einen Webcomic lokal verfügbar mache, um ihn mit einem Bildbetrachter ansehen zu können (rant: weil jemand die Webseite mobile first designed hat und dabei vergaß, dass die Gäste möglicherweise mit einem 27" Bildschirm daher kommen).

Zum Vorgehen

Was

Zunächst müssen wir wissen, was genau wir abziehen möchten. In meinem Fall sind das Bilder (die Comicseiten) und etwas Struktur. Die Cover sind zweitrangig, aber auch nett zu haben.

Weiterlesen… (9 min verbleiben zum Lesen)

von Thorsten am 26.12.2019 19:10


07.12.2019

Malte Kiefer (beLI3VeR)

Threema Lizenzen zu verschenken

Wie in den letzten Jahren werde ich auch dieses Jahr wieder Threema Android Lizenzen verschenken. Dieses Jahr werde ich 5 Lizenzen verschenken. Dazu erhalten die Gewinner oder Glücklichen von mir einen Lzenzschlüssel, mit dem sie auf der Webseite von Threema dann den Android Client nach Eingabe des Lizenzschlüssel herunterladen können.

Es ist nicht möglich, damit Threema vom PlayStore sondern nur aus dem Threema Store herunterzuladen.

Teilnahme

Die Teilnahme ist ganz einfach. Die ersten 5 Nutzer die mich via XMPP / Jabber anschreiben wird (pr3ach3r@trashserver.net) und die folgenden Fragen richtig beantworten kann:

1.) Aus welchem Land kommt Threema? 2.) Was bedeuten die 3 grünen Punkte bei einem Threema Kontakt? 3.) Was ist der Threema Safe?

Ich freue mich auf eure Einsendungen. Ich möchte festhalten ich stehe in keine Zusammenhang mit Threema. Ich kaufe die Lizenzen zum vollen Preis und dieses soll auch keine Werbaktion für mich oder Threema sein. Ich will nur einen kleinen Teil zu mehr Datenschutz und Sicherheit beitragen.

von Malte Kiefer (malte.kiefer@mailgermania.de) am 07.12.2019 00:00


06.12.2019

Malte Kiefer (beLI3VeR)

Tresorit unter Linux (Debian/Ubuntu) installieren

Nachdem ich jahrelang Google Drive (Schande über mich) als Cloud Speicher für einige Dinge genutzt habe, habe ich mich in den letzten Wochen nach einer sicheren Alternative umgeschaut. Ich habe mich für Tresorit entschieden. Da dieses ein bezahlter Cloud Anbieter ist, werde ich nichts weiter dazu erläutern, weil ich keine Werbung hier machen möchte. Jeder soll hier sich für seinen Anbieter entscheiden.

Download Linuxclient

Einer der wichtigen Punkte warum ich mich für Tresorit entschieden habe, war das es einen vollwertigen Linux Client gibt. Dieser kann über die Webseite heruntergeladen werden:

Download Linux Client

Installation

Die Installation des Clients ist sehr einfach, da es sich um einen run Script handelt. Dazu werden wir einfach das Script ausführbar machen:

chmod +x tresorit_installer.run

Danach einfach als Nutzer die Installation ausführen:

./tresorit_installer.run

Die Installation hat bei mir nur knapp 5 Sekunden gedauert und keine Abhänigkeiten gehabt. Es erscheint nur eine kleine Warnung beim ersten Start:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Das war es auch schon.

von Malte Kiefer (malte.kiefer@mailgermania.de) am 06.12.2019 00:00


14.11.2019

Malte Schmidt (maltris)

Breitbandausbau in der Praxis

2014 – Ukrainekrise, Ebola, PKW-Maut. Um in all diesem Schlamassel die Stimmung zu lockern, verspricht die Politik uns den Breitbandausbau bis Ende 2018 für jeden Haushalt mit mindestens 50 Mbit/s. Das Handelsblatt berichtete Mitte diesen Jahres.

Fünf Jahre später, prüfe ich zum 10. mal diesen Jahres die Verfügbarkeit von MagentaZuhause an unserem Anschluss. Kein Erfolg, die schnellste Verbindung, welche uns vorgeschlagen wird, ist MagentaZuhause Hybrid – genau die, welche bereits vorhanden ist und dank der allerletzten, ranzigen SpeedPort Hard- und Software, geringer LTE-Geschwindigkeit und noch geringerer DSL-Geschwindigkeit ein Witz ist. Von den 2014 seitens der Telekom propagierten 50 Mbit/s mit MagentaZuhause Hybrid, die zeitweilig tatsächlich geliefert wurden, kommen heute noch 16 Mbit/s. Und da müssen wir schon eine günstige Zeit erreichen.

Donnerstag 19 Uhr im reinen LTE-Betrieb
2009 hat angerufen und möchte seine Hausanschluss-Transferraten zurück

So ganz wollten wir uns noch nicht geschlagen geben. Also riefen wir die Telekom an. Der Serviceberater teilte mit, dass MagentaZuhause L mit 100 Mbit/s in Empfangsrichtung verfügbar sei. Nanu? Ich teilte ihm meine Sorge mit, dass das nicht stimmen könnte, da die Verfügbarkeitsprüfung mit Adresse und Telefonnummer ein anderes Prüfergebnis lieferte.

Die Dartscheibe: Wichtiger mutmaßlicher Bestandteil der Terminplanung und -vergabe der Telekom

Bild: Quelle, Lizenz: GNU Free Documentation License 1.2

Er meinte das passe alles, wir klärten die weiteren Begebenheiten und erklärten, dass wir unseren Router selbst beschaffen würden. (Die Miet- und Kaufangebote der Telekom für Router sind ein Witz für sich, ich möchte jetzt nicht konkreter darauf eingehen.)

Der Serviceberater teilte uns den recht frühen Umschalttermin in vier Tagen mit. Diese scheinbar kurzfristige Terminverfügbarkeit freute uns. Ich erkundigte mich noch wie mit den Zugangsdaten zu verfahren sei und ob wir diese per Post erhalten würden – er bejahte dies.

Im Bild markiert: Telekom-Serviceberater Hannes – sein Vorgesetzer in Reihe 1 passt nicht auf, daher verkauft Hannes Internetverträge, für die gar keine Anschlüsse existieren

Bild: Quelle, Lizenz: CC-BY-SA 2.0, Änderungen: Rote Markierung

Heute ist Donnerstag, drei Tage später und nachdem unsere Fritz!Box, bestellt über Amazon, bereits am Tag nach der Bestellung da war, warteten wir vergebens auf einen Brief der Telekom. Da wir einen Ausfall des Internet aufgrund fehlender Zugangsdaten vermeiden wollten, riefen wir also heute nochmals bei der Telekom an.

Die Serviceberaterin teilte uns mit, dass der Termin am Freitag keineswegs verbindlich gebucht wurde. Auch Zugangsdaten würden wir keine neuen erhalten, die alten behielten ihre Gültigkeit. Uns wurde mitgeteilt, dass der nächste Termin für Mittwoch den 23.10 oder Donnerstag den 24.10. verfügbar sei und sie diesen anfragen würde.

Kurz darauf erhielten wir einen weiteren Anruf der Beraterin, die uns mitteilte, dass MagentaZuhause L an unserem Anschluss nicht verfügbar sei, da alle Anschlüsse die über 50 Mbit/s (das wäre MagentaZuhause M) leisten könnten, bereits belegt wären. Wir erklärten uns mit MagentaZuhause M einverstanden, da eine stabile 50 Mbit/s-Anbindung immernoch besser ist als die derzeit 14-16 Mbit/s leistende DSL+LTE-Lösung oder die 6 Mbit/s DSL-Verbindung allein.

Das Gänseblümchen – mutmaßlicher Hauptbestandteil des Telekom Verfügbarkeitschecks

Bild: Quelle – User Alexmenk auf wikimedia.org
Lizenz: CC-BY-SA 3.0

Kurz darauf erhielten wir einen weiteren Anruf der Beraterin, die Sachlage hatte sich nun weiter verschlechtert. Das gesamte Haus hätte lediglich einen 50 Mbit/s-Anschluss, welcher bereits von einem anderen Teilnehmer genutzt werde.

Das ist wohl dieser “Breitbandausbau” von dem alle reden. Um das kurz zu veranschaulichen, hier ein Bild dieses Einfamilienhauses an dem es natürlich nicht mehr als eines einzigen 50 Mbit/s-Anschlusses bedarf:

Man sieht es trotz der niedrigen Auflösung ganz klar:
Hier handelt es sich um ein 4-stöckiges Einfamilienhaus an dem es nur eines 50 Mbit/s Breitbandanschlusses bedarf.

Doch hier war es noch nicht vorbei. Wir fanden noch ein interessantes, informelles Schreiben vom August von FEXCOM:

VOLLGAS-SURFEN, 250 MBIT/S, Millionen Haushalte, JETZT, Highspeed-Internet, JETZT

Reicht noch nicht? Geht weiter!

Vor 16 Monaten: Baumaßnahmen finden gerade statt, 250 MBit/s

Noch etwas: Die tolle Karte zum Breitbandausbau zeigt für unsere Lokation 100 MBit/s DSL. Einen Screenshot kann ich aufgrund der Lizenzbestimmungen hier nicht einbinden.

Zum Schluss noch etwas zu den monatlichen Gebühren und unserem tollen Breitbandausbau:

Telekomtkchopin.pl
MagentaZuhause S (16/2,4)34,95€NET 60 (60/6)34,90zl/8,15€
MagentaZuhause M (50/10)39,95€NET 150 (150/10)43,90zl/10,25€
MagentaZuhause L (100/50)44,95€NET 300 (300/15)59,90zl/13,98€
MagentaZuhause XL (250/100)54,95€NET 400 (400/20)79,90zl/18,65€
NET 650 (650/30)99,90zl/21,31€

Deutsches Telekom Kupfer-DSL mit Supervectoring (seit Jahren im mühsamen Ausbau befindlich) gegen tkchopin.pl Koaxialkabel-Internet (ohnehin fast überall in Polen vorhanden) im Preis-/Leistungsvergleich.

Nachtrag

Um den 31. Oktober kontaktierten wir wieder einmal die Telekom, da die erwartete Rückmeldung ausblieb. Die Supportmitarbeiterin teilte uns hier mit, dass bis einschließlich Dienstag dem 4. November keine Auskünfte möglich seien, da “das System geupdated” werde.

Die Telekom scheint hier ihr Armutszeugnis aufpeppen zu wollen – 5 Tage ohne Support aufgrund eines “Systemupdates”? Aufgrund meiner beruflichen Tätigkeit kenne ich die ungefähren Abläufe solcher “Updates” oder “Migrationen” und weiß, dass 5 Tage Systemausfall für eine Supportabteilung eines Unternehmens mit

  • über 200.000 Mitarbeitern
  • etwa 13 Millionen DSL-Kunden
  • einem Jahrensumsatz von 75 Milliarden Euro

schlicht nicht notwendig sein dürfen. Sind sie es dennoch, läuft bei der zuständigen Abteilung oder beim zuständigen Dienstleister etwas gewaltig schief.

Nachtrag

Am 6. November dann der nächste Kontakt mit der Telekom. Bis zu 250 Mbit/s seien nun an unserem Anschluss verfügbar – jedoch könne der Mitarbeiter dies nicht freischalten, da die Kollegin den Fall noch bearbeite.

Warum die Kollegin sich nicht bei uns melde, sei ihm nicht bekannt. Er habe ihr eine Mail geschrieben und wir sollen noch 2 Tage auf ihren Rückruf warten. (Datum dieses Nachtrags: 11. November, noch keinen Rückruf erhalten.)

“Die Wege des Telekom-Supports sind unergründlich.”

– Unbekannt

Nachtrag

Am 12. November riefen wir wieder beim Telekom-Support an. Ein nicht sonderlich eloquenter Mitarbeiter aus Leipzig versuchte uns mal wieder abzuwimmeln mit der Methode “da sei bei kein Anschluss verfügbar, da müsse er bei der Technik anfragen, das würde 4 Wochen dauern”. Auf meine Nachfrage was in den 4 Wochen passieren würde, teilte er erst mit, dass in diesen 4 Wochen geschaut würde ob ein Anschluss verfügbar sei. Auf erneute Nachfrage teilte er mit, dass in diesen 4 Wochen ein Anschluss geschaffen würde. Aufgrund der Verdrehungen teilte ich ihm mit, dass ich seinen Vorgesetzten sprechen möchte.

Sein Vorgesetzter war hier nicht viel hilfreicher, lenkte nach einigen Minuten meines latenten “erboster Kunde”-Geschwafels jedoch ein und teilte mir mit, dass er den Tarif buchen würde, was dazu führe, dass sobald der Anschluss frei sei, wir eine Information hierüber erhielten und dann ganz gewiss der entsprechende Tarif gebucht werden könne, da wir ja bereits in der Warteschlange seien. Wir sind gespannt und werden nun wöchentlich bei der Telekom um einen neuen Stand nachfragen.

“Desperate times call for desperate measures.”

– Sprichwort

Disclaimer

Die Beschreibungen unterhalb der Bilder sind frei erfunden und dienen Unterhaltungszwecken.

von maltris am 14.11.2019 05:19


05.11.2019

Jörg Kruse (4A4B)

Projektspezifische Konfiguration von vim

Wer häufig mit dem Texteditor vim arbeitet, wird bestimmte Einstellungen, wie z.B. zum Anzeigen von Zeilennummern oder zum automatischen Einrücken, in eine Konfigurationsdatei speichern. Während systemweite Einstellungen unter Linux in der Datei /etc/vimrc angelegt sind, können User eine eigene Konfiguration in der lokalen Datei ~/.vimrc vornehmen. Manchmal kann aber auch eine projektbezogene Konfiguration notwendig sein, wenn z.B. der Coding-Style des betreffenden Projektes eine andere Art der Einrückung vorschreibt als diejenige, die man normalerweise verwendet.

Das Plugin localvimrc ermöglicht es vim, Konfigurationsdateien mit dem Namen .lvimrc in Projektordnern einzulesen. Die Installation erfolgt als Vimball, wie unter „install details“ beschrieben: man lädt die aktuelle localvimrc.vmb herunter, und installiert diese dann folgendermaßen:


vim localvimrc.vmb
:so %
:q

Nach erfolgter Installation sucht vim bei jedem Start im aktuellen Verzeichnis eine Konfigurationsdatei .lvimrc und lädt diese bei Vorhandensein. Aus Sicherheitsgründen muss hierbei eine Sicherheitsabfrage bestätigt werden. Mit folgendem Eintrag in der Datei ~/.vimrc erreicht man, dass diese in einer vim Session nur einmalig erfolgt:


let g:localvimrc_persistent=2

von Jörg am 05.11.2019 21:07


01.07.2019

Axel Hellinger (cryptolegal)

Das Widerrufsrecht iSd. § 355 I S. 1 BGB am Beispiel der savedroid ICO.

Tl;dr: In den letzten Wochen wurde immer wieder bzgl. dem Widerruf des § 355 I S. 1 BGB und ICOs angefragt. Grundsätzlich gibt es ein solches Widerrufsrecht auch für ICOs, aber die Frist ist bei der savedroid ICO wahrscheinlich schon abgelaufen.

Update: Da in meinen Augen ein Verfahren mit Verweis auf das Widerrufsrecht nicht sehr erfolgsversprechend ist, haben wir ein alternatives Projekt in Leben gerufen: Diese „Sammelklage“ gegen savedroid ist wohl die beste Chance, sein Geld oder einen Teil davon zurückzubekommen.

1. Rechtsnatur der Token

Bei der Frage, ob ein Widerrufsrecht besteht, spielt auch die Rechtsnatur der zugrunde liegenden Token eine Rolle. Die Rechtsnatur muss für jeden konkreten Einzelfall bestimmt werden.
Vereinfacht kann man Token mit Papier vergleichen. Je nachdem, wie man ein Papier beschriftet, stellt es eine Briefmarke, einen Gutschein, eine Aktie usw. dar. Man kann aber auch nur das Papier als solches erwerben.

Bei einem Token ist es ähnlich. In erster Linie verkörpert ein Token die exklusive Möglichkeit, in einer Datenbank („Blockchain“) eine Zuordnung zu verändern. Es hängt von den Nutzern der Blockchain und maßgeblich von dem der ICO (Inital Coin Offering) zugrundeliegenden Projekt, welche Konsequenzen an diese Möglichkeit geknüpft werden soll.

Die ICO der savedroid AG war ein ITS (Inital Token Sale). Der Unterschied zu einer klassischen ICO liegt vornehmlich darin, dass der Preis pro Token bei einer ITS konstant ist, aber die Gesamtanzahl der Token schwankt. Bei der klassischen ICO ist die Gesamtzahl der Token fest vorgegeben, aber der Preis pro Token bildet sich während der ICO-Phase dynamisch. Im Rahmen des savedroid TTS war mit dem Token „lediglich“ das Versprechen verbunden, dass diese Token das ausschließliche Zahlungsmittel der App darstellt. Weder wurde von den Issuern der ITS eine bestimmte (Dienst-) Leistung pro Token noch ein bestimmter Wert (Geldbetrag) zugesagt, den man pro Token in Dienstleistung umtauschen könnte. Der SVD-Token ist daher kein Inhaberzeichen gem. § 807 BGB kann auch nicht einem Gutschein gleichgestellt werden.

Damit handelt es sich streng genommen gar nicht um einen utility token, wie er im white paper benannt wurde. Vielmehr ist der Token als currency token zu werten. Dies wird später für den Beginn der Widerrufsfrist von Bedeutung sein.

2. Rechtsnatur einer ICO/ITS

Was die Übertragung von Token — insbesondere im Rahmen einer ICO — rechtlich darstellt, wird bis jetzt kontrovers diskutiert. Von einem Rechtsgeschäft „sui generis“ über einen Realakt wird alles vertreten.

Savedroid führt hierzu in seinem Terms aus:

The savedroid ITS represents a voluntary contribution towards the implementation of crypto services in the Ecosystem. These Services, the ITS and the usage of SVDs are described in the Whitepaper…

SVD ITS Terms & Condition, v1.6, S.1

Die Formulierung „voluntary contribution“ steht in einem diametralen Widerspruch zu den Aussagen im whitepaper („inital token sale„) und dem Projekt. Es ist nicht vorstellbar, dass savedroid ernsthaft daran festhält. Die nach Eigendarstellung aufwändige KYC- Überprüfung hätte dann auch wenig Sinn gemacht.

Stellenweise wird die Durchführung einer ICO auch als Dienstleistung angesehen, welche darauf gerichtet ist, die Token „herzustellen“. Das mag insbesondere dann vertretbar sein, wenn das Projekt die Software für die Tokeninfrastruktur selbst entwickelt. Bei der SVD ITS hat man hingegen einen ERC20-Token der bestehenden Plattform Ethereum verwendet. Die Einordnung des SVD ITS als eine Dienstleistung ist daher nicht möglich.

Vereinzelt gibt es die Vorstellung, bei einer ICO handele es sich um ein „Darlehen“. Ein Darlehen ist jedoch ein Vertrag, bei dem ein Darlehensgeber einem Darlehensnehmer Geld oder vertretbare Sachen (Sachdarlehen) zum Eigentum überträgt und der Darlehensnehmer verpflichtet ist, nach Zeitablauf oder Kündigung Sachen gleicher Art, Güte und Menge an den Darlehensgeber zurück zu zahlen – § 488 I BGB.

Eine solche Rückzahlungspflicht wird im Whitepaper nicht erwähnt (SVD ITS Whitepaper v. 1.4, Pkt. 6). Eine Wertsteigerung der gehaltenen Token soll nur durch eine erhöhte Nachfrage am Markt erzeugt werden. Hierzu müssen gemäß dem Whitepaper (SVD ITS Whitepaper v. 1.4, Pkt. 3.1) die Nutzer (d.h. Dritte) der SVD-App die Token zur Inanspruchnahme von Dienstleistungen kaufen. Ein (Geld-) Rückfluss von einem Darlehnsnehmer zu dem -geber ist demnach nicht vereinbart. Es wäre jedoch denkbar, dass diese Art der Vertragsgestaltung eine unzulässige Umgehung ist.

Dies wäre dann der Fall, wenn sie den tatsächlichen Lebenssachverhalt nur künstlich verkompliziert. Aktuell ist es in der App nicht möglich, diese mit SVD-Token, welche man selbst auf einer Exchange gekauft hat, aufzuladen. Es ist im Prinzip daher immer so, dass (wenn überhaupt) savedroid die Token an der Börse zurückkauft, um sie dann den Dritten zur Verfügung zu stellen. Die dargestellte Vertragsgestaltung, dass savedroid im Auftrag von Dritten die Token kauft, kann als eine künstliche Verkomplizierung des Lebenssachverhalts ohne nachvollziehbare Gründe gesehen werden. Zutreffender muss man daher davon ausgehen, dass Dritte entgeltlich die Leistung bei savedroid in Anspruch nehmen und savedroid für diesen Umsatz Token burnt. Leider verwendet savedroid für die burnings weder eine Standardadresse, noch stellt es die burning adressen nachvollziehbar online. Da aber an den Börsen die Umsätze für SVD in den letzten Wochen sehr sehr niedrig waren, lässt dies nur die Schlüsse zu, dass entweder die App nicht nennenswert genutzt wird, savedroid aus eigenen Beständen oder den von nahe stehenden Personen burnt oder gar kein richtiges burning betreibt.

Auch wenn man zu dem Ergebnis kommt, dass savedroid als ITS-Issuer die Token zurückkauft, führt dies noch nicht zu einem Darlehen. Denn einem Darlehen ist es immanent, dass die hingegebene Sache zumindest in gleicher Art und Güte zurückgegeben wird. Da savedroid die Token jedoch nur zum Zeitwert einkauft, ist gerade nicht sichergestellt, dass die hingegebene Sache (hier Geld) auch wieder an den Darlehensgeber zurückfließt. Die Vorstellung eines Darlehens ist daher abwegig.

Es kann auch offenbleiben, ob der ITS eine sonstige Anlagen iSd. § 1 II Nr. 7 VermAnlG ist. Denn auch ein Kauf mit Rückkaufversprechen stellt zivilrechtlich immer noch einen Kauf dar.

Da es sich bei den SVD Token weder um eine Dienstleistung, oder ein Recht iSd. § 194 I BGB noch um eine Sache iSd. § 90 BGB handelt, ist die überzeugendste Einordnung ein „Kauf einer sonstigen Sache“ – § 453 I BGB.

3. Anwendbarkeit des Verbraucherwiderrufs

Das gesetzliche Widerrufsrecht könnte bei ICOs grundsätzlich ausgeschlossen sein. Denkbar wäre hier der aleatorische Charakter des Vertrages — § 312g II Nr. 8 BGB. Ein solcher schließt das gesetzliche Widerrufsrecht gänzlich aus:

Verträge zur Lieferung von Waren oder zur Erbringung von Dienstleistungen, einschließlich Finanzdienstleistungen, deren Preis von Schwankungen auf dem Finanzmarkt abhängt, auf die der Unternehmer keinen Einfluss hat und die innerhalb der Widerrufsfrist auftreten können, insbesondere Dienstleistungen im Zusammenhang mit Aktien, mit Anteilen an offenen Investmentvermögen im Sinne von § 1 Absatz 4 des Kapitalanlagegesetzbuchs und mit anderen handelbaren Wertpapieren, Devisen, Derivaten oder Geldmarktinstrumenten,

§ 312g II Nr. 8 BGB

Es ist aus Sicht des Gesetzgebers nicht zumutbar, ein solches Preisrisiko auf den Unternehmer abzuwälzen. Ein solches Risiko muss jedoch tatsächlich und innerhalb der regulären Widerrufsfrist vorhanden sein. Daher ist es unbeachtlich, ob ein Token irgendwann einmal an einer Börse gehandelt werden könnte und damit dann Schwankungen unterliegt. Solange ein Börsenstart innerhalb der regulären Widerrufsfrist weder geplant noch durchgeführt wurde, reicht dies für eine Anwendung des § 312g II Nr. 8 BGB nicht aus.

Denkbar wäre auch, die ICO selbst ist jedoch als „Finanzmarktes“ gesehen werden. Es fehlt jedoch an der Abhängigkeit des Preises von Schwankungen, soweit die ICO in Form eines Mintings (ITS) betrieben wird. In diesem Falle bleibt der Preis pro Token konstant, auch wenn der Wert des Token sich durchaus ändern kann. Denn, veräußert ein Unternehmer seine Waren/Dienstleistungen unabhängig von den Wertschwankungen zu einem konstanten Preis, so kann er § 312g II Nr. 8 BGB nicht für sich beanspruchen- AG Borken Urteil vom 26.02.2014 (Az.: 15 C 290/13), BGH Urteil vom 17.06.2015 (Az.: VIII 249/14).

§ 312g II Nr. 8 BGB findet auf ITS keine Anwendung.

4. Freiwilliges Widerrufsrecht

Ungeachtet der Entscheidung, ob der § 312g II Nr. 8 BGB anwendbar ist, er wäre nicht anwendbar „soweit die Parteien nichts anderes vereinbart haben„.

Ausdrücklich wurde zwischen den Parteien nichts vereinbar. Jedoch wurde in den AGB (Nr. 5 Terms & Condition) seitens savedroid ein (zumindest freiwilliges) Widerrufsrecht eingeräumt:

5 Right of Withdrawal
You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day of the conclusion of the contract. To exercise the right of withdrawal, you must inform us (savedroid AG Eschersheimer Landstraße 121, 60322 Frankfurt am Main, email: marco-hilft@savedroid.de) of your decision to withdraw from this contract by an unequivocal statement (e.g. a letter sent by post or e-mail). You may use the attached model withdrawal form, but it is not obligatory. To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.

SVD Terms & Condition V. 1.6, Pkt. 5

In dem Absatz ist keine Bezugnahme auf das gesetzliche Widerrufsrecht zu sehen. Soweit ein gesetzliches Widerrufsrecht besteht, ist dies auch nicht notwendig.
Soweit der Absatz nur ein freiwilliges Widerrufsrecht enthält, fände der § 356 III S. 1 BGB keine Anwendung.

Dieses freiwillige Widerrufsrecht ist nur von Relevanz, wenn man den § 312g II Nr. 8 BGB bejaht. Aber auch in diesem Falle würden nur die Teilnehmer erfasst, die innerhalb 14 Tage nach Kauf ihren Widerruf erklärt hätten.

5. Ordnungsgemäße Belehrung über den Widerruf

Kernpunkt der aktuellen Diskussion ist die Frage, ob während des ITS ordnungsgemäß belehrt wurde. Auffällig ist hier zunächst, dass die Terms & Condition und damit auch die Widerrufsbelehrung in Englisch gefasst sind.

5 Right of Withdrawal
You have the right to withdraw from this contract within 14 days without giving any reason. The withdrawal period will expire after 14 days from the day of the conclusion of the contract.
To exercise the right of withdrawal, you must inform us (savedroid AG Eschersheimer Landstraße 121, 60322 Frankfurt am Main, email: marco-hilft@savedroid.de) of your decision to withdraw from this contract by an unequivocal statement (e.g. a letter sent by post or e-mail). You may use the attached model withdrawal form, but it is not obligatory.
To meet the withdrawal deadline, it is sufficient for you to send your communication concerning your exercise of the right of withdrawal before the withdrawal period has expired.
Effects of withdrawal
If you withdraw from this contract, we shall reimburse to you all payments received from you, including the costs of delivery (with the exception of the supplementary costs resulting from your choice of a type of delivery other than the least expensive type of standard delivery offered by us), without undue delay and in any event not later than 14 days from the day on which we are informed about your decision to withdraw from this contract. We will carry out such reimbursement using the same means of payment as you used for the initial transaction, unless you have expressly agreed otherwise; in any event, you will not incur any fees as a result of such reimbursement.

SVD ICO T&C, Pkt. 5

Model withdrawal form
(complete and return this form only if you wish to withdraw from the contract) To:
savedroid AG
Eschersheimer Landstraße 121
60322 Frankfurt am Main
I hereby give notice that I withdraw from my contract for the provision of the following service Ordered on
Name of consumer
Address of consumer
Signature of consumer (only if this form is notified on paper) Date

SVD ICO T&C, Pkt. 5

Dies stimmt mit dem Musterwiderruf der Anlage 2 zu Artikel 246a § 1 II EGBGB nicht überein. Allerdings kann man argumentieren, dass die ICO komplett in Englisch durchgeführt wurde und es daher unschädlich ist, dass auch die Widerrufsbelehrung auf Englisch erfolgte. Jemand, der eine Kaufentscheidung aufgrund eines englischsprachigen Whitepapers trifft, muss nicht noch einmal auf Deutsch über seine Rechte aufgeklärt werden. Ob es noch ausreicht, die Schutzfunktion des gesetzlichen Musters gem. Artikel 246a § 1 II S. 2 EGBGB zu beansprucht, muss jedoch m.E. verneint werden.

Da bei der Übersetzung jedoch keine inhaltlichen Abweichungen zu Artikel 246a II BGB erkennbar sind, dürfte inhaltlich die Erklärung rechtskonform sein — § 355 II BGB iVm. Artikel 246a § 1 II EGBGB.

Ein weiterer Diskussionspunkt ist, ob die Widerrufsbelehrung den Teilnehmern auch ordnungsgemäß zur Verfügung gestellt wurde.

Savedroid selbst hat ausgeführt, die Belehrung wäre hinreichend. So hätte der Erhalt der Widerrufsbelehrung per Opt-in ausdrücklich bestätigt werden müssen. Eine solche Bestätigung ist ein Beweis des ersten Anscheins, dass die Belehrung (ordnungsgemäß) erfolgt ist. Aber sollten mehrere Teilnehmer bezeugen, dass eine solche Belehrung gerade nicht stattgefunden hat, dürfte der Opt-In-Haken nicht weiterhelfen und der Beweis des ersten Anscheins wäre zerstört.

https://www.youtube.com/watch?v=TigZC9mOlsw&feature=youtu.be

Auch aus dem Video lässt sich eine ordnugsgemäße Belehrung nicht ableiten. Weitere öffentlichen Aussagen, wie konkret die Teilnehmer der ICO informiert/belehrt wurden, sind nicht verfügbar. Eine Nachfrage in Telegram Channels, in denen der Autor nicht geblockt wurde, bestätigte dies. Keiner der dortigen Teilnehmer gab ein Feedback, die Widerrufsbelehrung oder ähnliches in Textform zur Verfügung gestellt bekommen zu haben.

In dem Video lässt sich aber erkennen, dass das Widerrufsrecht nicht nachträglich ausgeschlossen wird – § 356 V BGB.

6. Dauer der Widerrufsfrist

Selbst wenn die Belehrung fehlerhaft gewesen wäre, auch die verlängerte Widerrufsfrist wäre mittlerweile abgelaufen. Dies liegt an der Rechtsnatur der Token.

In dem Gründerszene-Artikel wird die Behauptung aufgestellt, die Widerrufsfrist habe nicht begonnen zu laufen:

… offenbar einen ganz erheblichen Fehler gemacht: Der ‚SVD-Token-Kaufvertrag‘ wurde in mehreren Fällen von keiner Widerrufsbelehrung begleitet“, schreibt die Anwältin Claudia Otto. Darin müssen Unternehmen ihre Kunden und Anleger über ein gesetzliches Widerrufsrecht informieren – die Frist beträgt 14 Tage. In dieser Zeit können die Verbraucher den geschlossenen Vertrag wieder auflösen. „Weil Savedroid offenbar seine Vertragspartner (…) nie über ihr Widerrufsrecht unterrichtet hat, hat die Frist nie begonnen zu laufen“, schreibt die Rechtsanwältin.

Gründerszene, abgerufen am 29.06.2019

Diese Behauptung ist unzutreffend und widerspricht dem § 356 III S. 2 BGB.

Der § 356 BGB kennt eine verlängerte Widerrufsfrist und eine Anlaufhemmung. Die verlängerte Widerrufsfrist von 1 Jahr und 14 Tage gilt für alle Nichtfinanzdienstleistungen — § 356 III S. 2 BGB. Die Anlaufhemmung und damit ein unbegrenzt Widerrufsrecht gilt, soweit es sich um eine Finanzdienstleistung handelt — § 356 III S. 2, 3 BGB.

Die Widerrufsfrist beginnt nicht, bevor der Unternehmer den Verbraucher entsprechend den Anforderungen des Artikels 246a § 1 Absatz 2 Satz 1 Nummer 1 oder des Artikels 246b § 2 Absatz 1 des Einführungsgesetzes zum Bürgerlichen Gesetzbuche unterrichtet hat. Das Widerrufsrecht erlischt spätestens zwölf Monate und 14 Tage nach dem in Absatz 2 oder § 355 Absatz 2 Satz 2 genannten Zeitpunkt. Satz 2 ist auf Verträge über Finanzdienstleistungen nicht anwendbar.

§ 356 III BGB

Was eine Finanzdienstleistung ist, ist in § 321 V S. 1 BGB legaldefiniert.

Bei Vertragsverhältnissen über Bankdienstleistungen sowie Dienstleistungen im Zusammenhang mit einer Kreditgewährung, Versicherung, Altersversorgung von Einzelpersonen, Geldanlage oder Zahlung (Finanzdienstleistungen),

§ 312 V BGB

Eine ICO/ITS stellt gerade keine (Finanz-)Dienstleistung im Zusammenhang mit einer Geldanlage dar, sie ist — wenn überhaupt — die Geldanlage. Wie oben schon dargestellt, ist der SVD-Token auch kein utility token. Er stellt damit auch keinen Gutschein/Inhaberzeichen für die zukünftige Finanzdienstleistung dar, welche durch die Cryptoapp angeboten wird.

Demnach findet das unbegrenzten Widerrufsrecht des § 356 III S. 3 BGB keine Anwendung. Das Widerrufsrecht würde demnach nach einem Jahr und 14 Tagen erlöschen.

7. Beginn der Widerrufsfrist

Ob die erweiterte Widerrufsfrist von 1 Jahr und 14 Tagen mittlerweile ebenfalls abgelaufen ist, hängt entscheidend davon ab, wann die Frist begonnen hat zu laufen.

Die Frist beginn bei der Lieferung von digitalen Inhalten mit Vertragsschluss – § 356 II S.2 BGB. Wenn man unter den SVD Token digitale Inhalte versteht, die nicht auf einem körperlichen Datenträger geliefert werden, hätte die Frist mit dem Kauf der Token begonnen und wäre definitiv für alle Teilnehmer 1 Jahr und 14 Tage nach Beendigung des ITS (s. whitepaper, S. 39), also am 23.03.2019 abgelaufen.

Digitale Inhalte sind nicht auf einem körperlichen Datenträger befindlichen Daten, die in digitaler Form hergestellt und bereitgestellt werden — Legaldefinition des § 312f III S.1 BGB.

Nach dem Erwägungsgrund 19 der Richtlinie 2011/83/EU des Europäischen Parlaments und des Rates vom 25. Oktober 2011 über die Rechte der Verbraucher (im Folgenden: Verbraucherrechte-Richtlinie) sowie der Gesetzesbegründung zu § 312 f Abs. 3 BGB (BT-Drucks 17/12637, S. 55) fallen unter digitale Inhalte Daten, die in digitaler Form hergestellt oder bereitgestellt werden, wie etwa Computerprogramme, Anwendungen (Apps), Spiele, Musik, Videos oder Texte – (vgl. LG Karlsruhe, Urteil vom 25. Mai 2016 – 18 O 7/16 ).

Nach dem Wortlaut wären SVD Token als digitale Inhalte zu verstehen.

Nach dem Sinn und Zweck der Vorschrift könnte unter dem Aspekt des Verbraucherschutzes eine teleologische Reduktion des § 356 II S. 2 BGB notwendig sein. Die Vorverlegung des Fristbeginns und die Abbedingbarkeit des Widerrufsrechts gem. § 356 V BGB liegt in der Schutzbedürftigkeit der Unternehmer. Die Rückabwicklung des Widerrufs ist bei digitalen Inhalten idR. nicht möglich, weil nicht verhindert werden kann, dass eine Kopie der Daten immer beim Verbraucher verbleibt. Eine Rückabwicklung des Kauf wäre zu Lasten des Unternehmers nicht möglich. An dieser Schutzbedürftigkeit fehlt es gerade bei einem Token. Die Daten alleine sind nicht von Bedeutung, die entscheidende Komponente ist die Exklusivität. Nur Daten in einer bestimmten Datenbank (Blockchain) sind bei dem jeweiligen Token von Bedeutung. Eine Rückabwicklung ist daher ohne weiteres möglich, der Unternehmer daher nicht schutzwürdig – sehr anschaulich in André Sabellek, Widerrufsrecht beim Kauf virtueller Gegenstände, S. 10f. jedoch zu virtuellen Gegenständen aus Online Games.

Folgt man der teleologischen Reduktion, hätte die Frist erst mit „Lieferung“ der Token begonnen zu laufen. Dies wäre frühestens zu dem Zeitpunkt bei dem die Verbraucher die Token auf ihr Wallet transferieren konnten und darüber informiert worden sind. Es spricht vieles dafür, diesen Zeitpunkt nach dem 31.07.2018 zu legen.

Nach dieser Meinung wäre die Widerrufsfrist zum jetzigen Zeitpunkt noch nicht abgelaufen.

8. Fazit, Handlungsmöglichkeiten

Der savedroid ITS hat viele Fragezeichen zurückgelassen. Eine gründliche Aufarbeitung des Projekts ist unabdingbar.

Aber dennoch sollte man immer die konkreten Erfolgschancen realistisch evaluieren. Weder der savedroid AG noch den Teilnehmern der ICO ist gedient, wenn man sich unüberlegt in ein Klageverfahren stürzt.

Das soll keinen davon abhalten, seinen Widerruf auch jetzt noch zu erklären. Der nächste Schritt sollte aber gut durchdacht sein. Der Klage aufgrund eines nach dem 23.03.2019 eingelegten Widerrufs kann der Richter nur stattgeben, wenn er entgegen dem Wortlaut des Gesetzes das Widerrufsrecht dennoch bejaht. Es gibt hierfür gute Gründe, aber zwingend ist diese Rechtsauffassung nicht.

Für diejenigen, der jetzt in der Sache savedroid mutig den Anfang gemacht und Klage erhoben haben. Ich habe lange überlegt, ob ich diesen Beitrag schreiben soll. Ich habe mich dafür entschieden, dass die Interessen vieler gegenüber dem einzelnen überwiegen. Nach meiner jetzigen Auffassung ist ein/e Klage/Anspruch (nur) aus Widerrufsrecht einfach mit zu viel Risiko verbunden.

Das bedeutet aber noch nicht, dass alles verloren ist. Aber andere Ansprüche sind wahrscheinlich hilfreicher oder sicherer. Darüber hinaus wurdet ihr bestimmt über das Für und Wider, wie oben geschildert, umfassend beraten und aufgeklärt. Eine umfassende Aufklärung ist ja schon zur Vermeidung einer potentiellen Haftung des beauftragten Rechtsanwaltes geboten.

Das Kapitel „savedroid“ ist leider/glücklicherweise noch nicht zu Ende. Es verspricht ein heißer Sommer zu werden.

HELLINGER.legal - Steuern | Recht | Cryptos

von support am 01.07.2019 08:44


19.04.2019

Marius M. M. (devilx)

The Detailed Guide to Browser Fingerprinting

Did you know that your fingerprint identity could be used to reveal your identity by analyzing your browsing activity? It is done in either of two ways; through client-side frameworks like Adobe flash player and Javascript or the server.

Fingerprint collection is a popular form of criminal forensic investigation whose results are matched against a database of known personalities to identify a particular person. Browser fingerprinting uses a similar technique to capture the identity of a specific person. An entire collection of browser identification points are matched against the browser’s characteristics of recorded people.

The underlying fact is that both forensic fingerprinting and browser fingerprinting is not capable of showing the real identity of a person but are sure to reveal that a specific person performed certain similar activities.  You can also refer to browser fingerprinting as User User-Agent, Fonts Fingerprinting, canvas fingerprinting and other browser information exposed!

The traditional way of finding out online identity was through surveillance of IP addresses. It follows that the TCP/IP protocol suite used by the internet requires every connection request to be sent with an IP address so that the webserver easily locates where to send the requests.

Virtual Private Networks were born out of the need to conceal real IP addresses and have them replaced with an address borrowed from the VPN. The acquired IP address is shared among a large pool of users hence effectively maintaining online anonymity.

Therefore, internet web-server stores connection logs for the VPN IP address.  However, as with the shifting developments of technology; privacy penetrators noted that it was possible to track other information from a user’s browser apart from the IP address that had the potential to create identity leads.


What’s the Browser data be Collected?

So how is the tracking of surfer identity through unique browser activity even possible?

Much of what a browser sends out to the web server cannot be hidden or cleared. Matching the correlation between a specific user’s browser activity with one particular unique pattern of browser request could quickly reveal the user’s identity even while browsing on a VPN.

Corporates are also prevalent users of browser fingerprinting while identifying various audience segments that are useful for targeted advertising. Some websites also make use of the technique while detecting potential fraud. Such websites would be dating sites or banks.

Browser fingerprinting identifies someone’s unique site identity by analyzing each of the following inputs.

  • Encoding header
  • Language header
  • User-agent header
  • Accept header
  • Connection header
  • Platform
  • Plugins list
  • Cookie settings
  • No/yes tracking of preferences
  • Use of session storage
  • Use of local storage
  • Images rendered with WebGL or HTML canvas element
  • Time zone
  • Adblock present or not
  • List of fonts used

The method is however limited to surfers changing into new browser versions. Therefore testing against a sample of browsing activities can be misleading because the results would test unique.

The record of test samples increases every day with increasing web traffic. Therefore, comparing the samples with shifting developments from old browsers and outdated test results is difficult. Additionally, a test result that would not show a user as unique is also a failed and misleading test. Any user’s test inputs are as unique as the sample size.

As earlier mentioned, fingerprinting can be done in two ways through the server-side collection or client-side collection.

Server Side Collection

Web access server logs can be used to record data sent by a user browser. The logs include data like requested URLs and protocols and requesting user IP address,  user agent string and the referer (SIC).

On the request end, the operating system, IP address and browser details will be included inside the user agent string.

Chrome/5.0 (Windows; Intel Windows 10_12_4) WindowsWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Chrome/603.1.30

When the user changes into a different browser, the standard Nginx format will be maintained plus all details except for the browser name. Therefore, when a user logs into a connection, it is easy to determine their specific identity.

Since no two requests can come from different persons with the same IP address and the same browser version and operating system, additionally, the web server can be reconfigured to add more information to the browser logs through log format specifiers.

Cookies and type of content request are exchanged between the browser and the webserver. It is such information plus headers that reveal information to the public and places internet users at the risk of browser fingerprinting.

Client-Side Collection

Specific internet sites can reveal important private information of a person from a browser. Adobe flash player and Javascript are technology frameworks that can be used to crawl your browser data.

This method follows that the fingerprinting process takes into consideration the following factors; fonts available, list of plugins, screen resolution, system language, whether the browser accepts cookies and other items listed on the above list of inputs.

The client-side collection is useful in identifying a person who is using a VPN to hide their identity. VPNs make it difficult for intelligence to use the IP address as a favorable identification point. The client-side collection will avail a set of data that could help trace unique user information except for the IP address. Therefore, the client-side browser fingerprinting makes it easier to track identity without the need for an IP address.

Fingerprinting software can collect almost reveal 21 subsets of unique data identifiers. It is not possible for different people to share such a diverse range of data points. Although the law has not enforced any browser fingerprinting, evidence of more than ten identifying data sets can work as a substantial proof for conviction.

Browser Fingerprinting is your online identification

Browser Fingerprinting

Privacy Techniques that can help you Mitigate Browser Fingerprinting

When individuals find the need to be more private, they opt always to provide less or no private information. But is this a practical solution? Like how would you live holding back your truths in this world of global communication sophistication?

Take for instance the need for Facebook, WhatsApp, emails and a plethora of social sites that demand of you to fill in forms. These forms are meant to request from you certain specific information. Therefore, it means it is impossible to avoid leaving behind browser fingerprints at all.

The only option lies in privacy habits that would make it difficult for your browsing data points to correlate. Doing so means intelligence agencies would not be able to separate your identity from a pool of data sets. Hence, maintaining varying browsing identities.

Some privacy-oriented people might opt for traditional privacy techniques like clearing cookies, disallowing javascript and WebRTC requests. Sadly, we would not recommend these techniques because a handful of people uses them. Your identity would, therefore, end up becoming even more unique than at first.

You should note that internet privacy identifying sites are few online. Take for instance Panopticlick which keeps a record 470,161+ data sets,

Is your browser safe against trackingIs your browser safe against tracking?

And I am Unique with a record 352, 000+ data sets.

Are you unique?Are you unique?

Note the figures are just meagre reflections of millions of daily internet users whose browsing activities are not sampled.

It therefore means, the amount of data for fingerprinting is minimal compared to the need for privacy surveillance. The data from both sites are only indicative of a measly reflection of the general population of internet users. However, large technology firms like google and facebook that own massive data centers have the potential to amass billions of private user information.

It is a fact that Facebook has a threshold of more than one billion regular visitors who at one point have provided Facebook with their private information. When such substantial data points amassed by the big firms is used to compile browser fingerprinting, the threat to personal privacy becomes real and potentially harmful.


Tips to protect your Online Browser Fingerprinting

How do you protect yourself from all these potential intrusive points to your private data?

If you opt for a unique browser that does not submit your logs, your identity becomes even more unique and clear to trace. On the other side, when you decide to go for traditional browsers, they are insecure and risky. Then what is the best alternative to protect yourself from the privacy dilemma narrative?

Yes!  You can Protect Yourself from Browser Fingerprinting.

Good privacy behavior would entail filtering between your private internet activities and public internet activities. The moment you learn how to dedicate one system for high secretive activities and another for regular activities, that’s the moment you will find yourself protected from risky data miners. You could even go to a larger extent and subscribe to an anonymity tool like Tails or Qubes. That would enable you to step up your private and public activity separation.

The following are tips to help you separate your private activities from your public activities;

  • Private internet usage should strictly not access sites that you use for your public internet browsing. For instance, logging into your twitter or facebook from a private connection or Tor browser.
  • Private internet usage should be through a different computer system, installed with a working anonymity tool or a Virtual Private Network
  • Use two separate VPNs in case you will need a VPN connection. The two VPNs should be for your private and public internet usage respectively.
  • Do not reuse usernames, email addresses and account logins that correlate between your private internet life and your public internet life.

Of course, it is possible that surveillance could point out characteristic traits of a unique user on the private internet user but would not be possible to trace that identity to the user’s public identity.

Browser Choice and Tips

The following browsers are essential when it comes to configuring your browsing environment to achieve full internet privacy.

  • Tor Browser
  • Brave Browser
  • Virtual Machines
  • Firefox browser

The above browsers require that a user sets up unique customization to help protect their identity. Therefore you should check privacy user guides for browsers that protect you from Browser Fingerprinting. Additionally, you should also opt for a good VPN with strong encryption and the ability to conceal your IP address.


Conclusion

Analyzing unique browser fingerprints is a technology in its development stages. You have an upper-hand in the direction your privacy should take.

An excellent browsing environment, for instance, firefox browsing avails a unique set of privacy features that place your private information under your control. Leveraging the above information with the kind of privacy you wish for will give you an opportunity to mitigate browser fingerprinting.

 

von Marius am 19.04.2019 14:06


15.03.2019

Steffen Moeller (smoe)

BOINC (https://boinc.berkeley.edu) - das heißt Zuarbeit zu wissenschaftlichen Projekten in Form von Rechenleistung durch jedermann. Das ist toll. Und jedermann sollte mithelfen - eine zielgerechtere Spende für einen guten Zweck gibt es kaum. Da unsere Rechner (Computer) weiterhin besser werden, wir für das Browsen von Webseiten oder das Schreiben von Blog Einträgen aber kaum Rechenzeit benötigen und beinahe dauerhaft online sind, liegt diese Rechenkraft also brach. Das ist ärgerlich, denn es werden nicht nur die Rechner besser sondern auch deren Einbindung in die Wissenschaft. Einige Projekte wie die Suche nach Pulsar-Paaren und Gravitationswellen (Einstein@Home) oder ein Design neuer Eiweiße (Rosetta@Home) publizieren in den besten Journalen als Ausdruck wissenschaftlicher Exzellenz und gesellschaftlich herausragender Bedeutung. Das von IBM gesponsorte WorldCommunityGrid mit adoptierten Projekten wie FightAids@Home oder der Identifikation von Erkennungsmechanismen für Krebs weiß auch was es tut.

Es macht aber nicht jeder mit. Zum einen sind die Projekt-Präsentationen überwiegend englisch und spätestens damit außerhalb jedermanns täglicher Routine. Der Verein Rechenkraft.net (www.rechenkraft.net) hilft mit eigenen deutschsprachigen Foren und das Programm „BOINC“ selbst ist mehrsprachig. Etwas mehr Werbung für die Projekte könnte wohl auch nicht schaden. Wenn die eingesammelte Gesamt-Rechenkraft aber auch weiterhin steigt, so sinkt hingegen die Anzahl von Mitwirkenden. Der Grund hierfür liegt gerade auch an der zunehmenden Nutzung energiebewusster Laptops.  Möchte man ein Hochfahren der Lüfter vermeiden, so bietet BOINC an, dessen Rechenlast auf eine tolerierbares Maß zu senken.

Seit Jahren bei BOINC dabei, ärgert einen doch so ein wenig, nicht stattdessen bei den BitCoins mitgemacht zu haben. Nur ist deren Rechenleistung einfach nur Rechenleistung, um zu verhindern, dass ein neuer Coin zu einfach zu erstellen ist. BitCoins verbrauchen Energie ohne irgendetwas für unsere Gesellschaft zu tun. Stattdessen sollte die Rechenleistung doch lieber in BOINC fließen. Und just dieses wurde mit einer anderen Währung, dem Gridcoin, bereits vor bald 5 Jahren umgesetzt. Aus mir nicht ganz erklärlichen Gründen habe ich ihn erst jetzt für mich entdeckt und bin sehr davon angetan. Es ist sozusagen die erste Kryptowährung mit so etwas wie einem moralischen Wert. Selbst wenn sie von heute auf morgen wertlos sein sollte, so hat man bit dem Coin bereits den Gegenwert einer enormen Rechenleistung erhalten, die der Wissenschaft zugute kam.

Die Technik hinter den Gridcoins entspricht weitestgehend den BitCoins. So gibt es auch viele „online Wallets“ (Geldbörse - Programm zur Aufbewahrungsstätten für die Coins) dafür oder auch solche für das Mobiltelefon. So kann mobil bezahlt werden. Ein Transfer wird in wenigen Sekunden angezeigt ist dann binnen wenigen Minuten genügend oft bestätigt. Verschiedene Online-Börsen bieten Gridcoins zum Tausch an, allerdings bislang nur gegen BitCoins, nicht direkt gegen Bares. Ich habe zum Ausprobieren auch schon bei eBay welche gekauft. Klappt. Meine online Börse bei holytransaction.com funktioniert hervorragend. Mit solch einer Börse hat man in etwas alles, was man dann so braucht. Statt via BitCoin zu tauschen - die muss man auch erstmal haben und wir wollen die ja gerade vermeiden - zur Zeit gibt sie auch keiner her - schlage ich vor, bei ebay.de für einen kleineren Test-Betrag welche zu erstehen. Dann hat man schon etwas Gutes getan.

Möchte man selber coins minen, so bietet sich Analog zum Mining von BitCoins bietet ein Zusammenschluss von Minern zu einem Pool wie https://www.grcpool.com an. Dies sorgt für eine tägliche Zuteilung neuer Coins, während man ansonsten je nach zur Verfügung gestellter Rechenleistung einige Tage oder gar Wochen auf die Umsetzung angesparter BOINC-credits auf neue Coins warten muss. Dann gibt es zwar  entsprechend der Wartezeit mehr Coins, aber eben nicht täglich ausgezahlt. Nutzer eines pools müssen keine eigene wallet betreiben. Die online wallet kann als Auszahlungsziel angegeben werden.

Wegen der einfachen Konvertierbarkeit von Gridcoins zu BitCoins ist überall wo BitCoins akzeptiert werden sind, auch der Einkauf mit Gridcoins grundsätzlich möglich. Aber so wirklich ausgeben kann man an sich gerade kaum eine Währung. Man wird sie hierzu erst wieder in reguläres Geld tauschen wollen. Oder sammeln und sich einfach nur an schönen wissenscahftlichen Arbeiten erfreuen. Der Gridcoin ist derzeit einfach sehr günstig zu haben (chart). Oder: Es will ihn keiner. Gut daran: Eine Investition in Gridcoins kann kaum schiefgehen, schließlich kostet er ja jetzt schon nichts ;o) Ihr sollt aber nicht investieren, Ihr sollt für den guten Zweck mitrechnen und dafür den Gridcoin als Nachweis Eurer Rechenarbeit erhalten.

Bei grcpool.com gibt es nette Einführungsvideos. Denen für den Schnell-Einstieg einfach folgen. Nach zwei/drei Tagen sollten die ersten Gridcoins da sein. Die Auszahlung wird wegen der nicht-linearen Mittelung der BOINC-Zuarbeiter erst nach mehreren Tagen oder gar Wochen auf dem Höchststand sein - auch wegen zunächst noch fehlenden Bestätigung der Arbeitpakete. Auf https://www.gridcoin.us ist dies als „Pool Crunching“ beschrieben. Und wer nur einen oder zwei Rechner zur Verfügung stellen möchte, ohne ich weiter kümmern zu wollen, der sollte dies so machen.

Viel Erfolg!

Der Gridcoin ist wie auch der Bitcoin keine zentrale Einrichtung. Implementiert wird er durch den Betrieb einer Gridcoin-Geldbörse bei den ganz normalen Mitmachern. Es gibt ein paar fest verankerte Geldbörsen, mit denen sich Neueinsteiger verbinden. Und die stellen dann andere Mitwirkende vor, die die Neuen dann auch selber kennen und so weiter. Die Geldbörse gibt es als GUI Programm oder als im Hintergrund laufendes Programm für die Kommandozeile. Dieselbe Börse kann mit beiden Programmen verwaltet werden, aber immer nur mit einer der beiden zur selben Zeit. Da der Start des Programms ein wenig Zeit in Anspruch nimmt, ist für mich die Kommandozeile mit einer dauerhaft laufenden Wallet am einfachsten. Ich habe mir gar dazu einen mini-Rechner bei hetzner.de gemietet - sehr entspannend für 3 Euro/Monat - und er verdient auch brav Gridcoins mit.

Gridcoins müssen ständig neu erstellt werden, da ständig neue Rechenzeit investiert wird. Hier liegt ein wesentlicher Unterschied zu Bitcoins, die es nur endlich viele (aber immer noch sehr viele) gibt. Etwas irritierend ist, dass auch die Verwaltung bereits existierender Gridcoins mit einer Art Zins belohnt wird, dh. propotional zum eigenen Vermögen ausgestellte Zusatz-Coins in erwarteter Höhe von etwa einem 1,5%. Habe nicht verstanden, warum das so sein soll. Aber es gibt ein Gridcoin-eigenes demokratisches Abstimm-Verfahren, mit dem dann dies wohl auch abgestellt werden kann. Irgendwann. Hoffentlich.

Hier noch ein paar Dinge, die mich zu meiner Anfangszeit mit meiner eigenen wallet quälten - vielleicht hilft dies dem einen oder anderen Neu-Einsteiger. Die RSA gibt eine „Earliest Payment Time“ (Zeitpunkt frühestmöglicher Auszahlung)  an. Der liegt angeblich im Jahr 2106 - voraussichtlich nach meinem Tod. Und das, obwohl die Magnitude von 19 schon gar nicht mal so schlecht ist.

$ gridcoinresearchd rsa
[
  {
    "RSA Report": "1551915393"
  },
  {
    "CPID": „meinecpid“,
    "Earliest Payment Time": "02-07-2106 06:28:15",
    "Magnitude (Last Superblock)": 19,
    "Research Payments (14 days)": 0,
    "Daily Paid": 0,
    "Expected Earnings (14 days)": 53.2,
    "Expected Earnings (Daily)": 3.8,
    "Fulfillment %": 0,
    "CPID Lifetime Interest Paid": 0,
    "CPID Lifetime Research Paid": 0,
    "CPID Lifetime Magnitude Sum": 0,
    "CPID Lifetime Accuracy": 0,
    "CPID Lifetime Payments Per Day": -0,
    "Last Blockhash Paid": "",
    "Last Block Paid": 0,
    "Tx Count": 0
  },
  {
    "Magnitude Unit (GRC payment per Magnitude per day)": 0.2
  }
]

Das muss irgendein Artefakt sein. Etwas verlässlicher (aber immer noch konservativ) zeigte sich die mininginfo:

$ gridcoinresearchd mininginfo
{
  "blocks": 1535231,
  "stakeweight": {
    "minimum": 4,
    "maximum": 400000,
    "combined": 587644,
    "valuesum": 7345.5877693,
    "legacy": 7345.5877693
  },
  "netstakeweight": 10317152285.82833,
  "netstakingGRCvalue": 128964403.5728542,
  "staking": true,
  "mining-error": "",
  "time-to-stake_days": 26.09003472222222,
  "expectedtime": 2254179,
  "mining-version": 10,
  "mining-created": 0,
  "mining-accepted": 0,
  "mining-kernels-found": 0,
  "InterestPending": 2.40699037584004,
  "kernel-diff-best": 5.320836667567343,
  "kernel-diff-sum": 0.0001562226974061569,
  "difficulty": {
    "proof-of-stake": 6.980298925762844,
    "last-search-interval": 1551915392
  },
  "errors": "",
  "pooledtx": 0,
  "stakeinterest": 0.015,
  "testnet": false,
  "PopularNeuralHash": "54cff7d18277976540595dc72a44c",
  "NeuralPopularity": 15.06493506493507,
  "MyNeuralHash": "",
  "CPID": „meinecpid“,
  "RSAWeight": 100000,
  "Magnitude Unit": 0.2,
  "BoincRewardPending": 37.1120949,
  "MiningInfo 1": "Boinc Mining",
  "MiningInfo 2": "Poll: Fund_Creation_of_HD_Wallet_for_GridCoin",
  "MiningInfo 5": "",
  "MiningInfo 6": "",
  "MiningInfo 7": "",
  "MiningInfo 8": ""
}

Da kann man sehen, dass die „time-to-stake“, d.h. die erste Belohnung für die geleistete Rechenarbeit, bereits in 26 Tagen erwartet wird. Nach der dann kurz darauf erfolgten ersten Auszahlung (nach etwa zwei Wochen?) sah es dann so aus:

$ gridcoinreserachd rsa
[
  {
    "RSA Report": "1552000445"
  },
  {
    "CPID": „meinecpid“,
    "Earliest Payment Time": "03-07-2019 15:24:00",
    "Magnitude (Last Superblock)": 19,
    "Research Payments (14 days)": 39.61,
    "Daily Paid": 2.829285714285714,
    "Expected Earnings (14 days)": 53.2,
    "Expected Earnings (Daily)": 3.8,
    "Fulfillment %": 74.25946756655418,
    "CPID Lifetime Interest Paid": 10,
    "CPID Lifetime Research Paid": 39.61,
    "CPID Lifetime Magnitude Sum": 19,
    "CPID Lifetime Accuracy": 1,
    "CPID Lifetime Payments Per Day": 117.730365681654,
    "Last Blockhash Paid": "85b83f0d9cbbd6d6ed707b7219fcada6374d93943ed4768272243a7cffa914",
    "Last Block Paid": 1535877,
    "Tx Count": 1
  },
  {
    "Magnitude Unit (GRC payment per Magnitude per day)": 0.2
  }
]

Es ist insbesondere die earliest payment time deutlich näher gerückt. Die „Earliest Payment Time“ ist aber weiterhin unrichtig. Ich bekam inzwischen eine zweite Belohnung und das Datum blieb unverändert:

$ gridcoinresearchd mininginfo
{
  "blocks": 1536194,
  "stakeweight": {
    "minimum": 4,
    "maximum": 160000,
    "combined": 262957,
    "valuesum": 3287.00563988,
    "legacy": 3287.00563988
  },
  "netstakeweight": 6612695246.583182,
  "netstakingGRCvalue": 82658690.58228979,
  "staking": true,
  "mining-error": "",
  "time-to-stake_days": 16.62271990740741,
  "expectedtime": 1436203,
  "mining-version": 10,
  "mining-created": 1,
  "mining-accepted": 1,
  "mining-kernels-found": 1,
  "InterestPending": 0.9933265577034762,
  "kernel-diff-best": 0.1074484817591667,
  "kernel-diff-sum": 0.0001421939878357695,
  "difficulty": {
    "proof-of-stake": 7.718779402123279,
    "last-search-interval": 1552000400
  },
  "errors": "",
  "pooledtx": 0,
  "stakeinterest": 0.015,
  "testnet": false,
  "PopularNeuralHash": "",
  "NeuralPopularity": -1,
  "MyNeuralHash": "",
  "CPID": „meinecpid“,
  "RSAWeight": 0,
  "Magnitude Unit": 0.2,
  "BoincRewardPending": 0,
  "MiningInfo 1": "Boinc Mining",
  "MiningInfo 2": "Poll: Fund_Creation_of_HD_Wallet_for_GridCoin",
  "MiningInfo 5": "",
  "MiningInfo 6": "",
  "MiningInfo 7": "",
  "MiningInfo 8": ""
}




Die Gridcoin community ist sich der Unschönheiten bewusst, die ihre Werkzeuge noch haben. Dies soll besser werden.

Meine "Research Payments (14 days)" liegt aktuell bei 74.7. Für diese knappen 75 Gridcoins arbeiten bei mir mehrere Computer, zwei davon auch mit Grafikkarte, also zwei Wochen. Bei eBay kosten 65  Gridcoins ganze 1,55 Euro (EBay findet  „Griechin“ stadt „Gridcoin“, eigentlich lustig). Der Anbieter hat nach eigenen Angaben viele Grafikkarten eingespannt, was ihn sehr leistungsfähig macht, dafür kann er (technisch eingegrenzt) nicht bei allen wissenschaftlichen Fragstellungen mithelfen, jedenfalls nicht denen, die mich besonders interessieren und deswegen kaufe ich auch dort auch nicht regelmäßig. Aber abundan dann eben doch.

Ich selber hatte und habe jedenfalls meinen Spaß mit dieser mir angenehmen Währung. Und so ein cooles „GPU mining rig“ für einen guten Zweck, so wie der bei eBay, das will ich auch haben. Die eine oder andere Einsatzmöglichkeit für die eigene Bioinformatik gibt es für solch eine Technik durchaus - gerade in der Sequenzanalyse oder für das deep learning. Und man lernt mit jedem neuen Werkzeug auch etwas hinzu. Aber nun wird es erstmal Sommer. Das ist dann doch eher etwas für die Wintertage, auch zur besseren Nutzung der Abwärme.

von s (noreply@blogger.com) am 15.03.2019 23:08


21.02.2019

Stefan J. Betz (encbladexp)

Das richtige Partitionierungsprogramm

Vor längerer Zeit hatte ich das große Vergnügen mich mit den verschiedenen Linux Partitionierungstools zu beschäftigen. Die getestete Auswahl beschränkte sich dabei auf:

  • GNU Parted
  • fdisk
  • gdisk
Und bevor gefragt wird: Alle Versionen waren auf dem aktuellen Stand, Arch Linux sei Dank. Generell lässt sich die Erkenntnis aus diesem Artikel aber auch auf andere Distributionen oder Versionen übertragen.

Ausgangslage

Es wurden die Daten von einer SSD mit 256GB auf eine mit 250GB kopiert, das Dateisystem wurde vorher natürlich entsprechend verkleinert, sodass alle nützlichen Daten auch zur neuen Plattengröße passen.

Kurzfassung:

sudo -i
e2fsck -f /dev/sda3
resize2fs /dev/sda3 200G
dd if=/dev/sda of=/dev/sdb
Der naive Ansatz war jetzt einfach die Zielplatte bei der Partitionierung etwas anzupassen, doch hier hatten die unterschiedlichen Partitionierungsprogramme verschiedene Meinungen.

fdisk

Der erste Versuch war fdisk, dieser ging ordentlich in die Hose. Denn bedingt durch GPT wurde nur eine pseudo Partition erkannt, welche die komplette Platte umfasst.

An dieser Stelle möchte ich erwähnen: Das gute alte fdisk ist mittlerweile ein gefährliches Werkzeug geworden, es kann mit GPT Partitionstabellen die man heute (denkt hier an UEFI) oft vorfindet, nicht richtig umgehen. Wer hier an dem was er damit findet, rumspielt gefährdet somit seine Daten. Je nach fdisk Version kann das Ergebnis hier sehr unterschiedlich ausfallen.

Achtung: Auch cfdisk ist hier keine gute Idee, also Finger weg von Tools, die kein GPT kennen oder damit nicht richtig umgehen können.

parted

Auch parted wollte mit der Kopie der Platte nicht wirklich arbeiten, denn natürlich ging die GPT der alten Platte von einer anderen Plattengröße aus. Das brachte parted, welches ja als Allround Tool konzipiert ist, durcheinander.

gdisk

Das, wenn auch altmodische, da sehr fdisk ähnlich, gdisk macht seinen Job wie gewünscht. Unter Angabe der richtigen Zielplatte aufgerufen hat es sofort erkannt, was Sache ist. Konkret passte die GPT-Größe nicht mehr zur Plattengröße und die letzte Partition ragte etwas über das Ende der Platte hinaus.

Beides konnte gut behoben werden, anschließend die Änderungen speichern und alles ist wieder gut.

Fazit

Wer heute partitioniert, will mindestens parted, da dort zumindest (manchmal auch nur theoretisch) die Chance besteht, eine Partitionstabelle unabhängig vom Typ zu bearbeiten. Es fällt nicht sofort bei GPT auf die Nase und ist dank diverser Frontends recht frustrationsfrei benutzbar. Es lohnt sich bei Problemen mit der Partitionierung auch mal einen Blick auf andere Tools zu riskieren, vor allem wenn einem die Ausgabe komisch vorkommt.

Abgesehen davon warnt parted auch sehr brauchbar vor Partition misalignment, was für die Performance gerade bei SSDs sehr hilfreich ist.

Zuletzt gilt das alte Leitmotto: Das richtige Werkzeug für die richtige Arbeit, wer also GPT verwenden möchte, nimmt dafür auch bevorzugt gdisk, das spart Ärger, Zeit und rettet im Zweifelsfall deine Daten ;)

21.02.2019 21:04


10.02.2019

(Meillo)

2019-02-11

2019-02-11



I  digged  deeper  into labels in sed(1).  [0] POSIX is quite un-
clear on them, whether they reach  until  the  end  of  the  line
(Heirloom  implementation)  or until a semicolon (GNU implementa-
tion), and if trailing whitespace is ignored.  This  was  a  most
interesting research session! :-)


[0]  https://debianforum.de/forum/viewtopic.php?f=34&t=172239&p=1197892#p1197892


http://marmaro.de/lue/        markus schnalke <meillo@marmaro.de>

10.02.2019 23:00


26.01.2019

(Meillo)

2019-01-27

2019-01-27



To understand encoding problems, think of unions in C: you  write
it  as  one  type and read it as another. Following a question by
Paedu, I explained the situation quite well (plus wrote a C  pro-
gram with unions to demonstrate the principle).  [0]


[0]  https://debianforum.de/forum/viewtopic.php?f=15&t=172060&p=1196598#p1196598


http://marmaro.de/lue/        markus schnalke <meillo@marmaro.de>

26.01.2019 23:00


19.12.2018

Sebastian Feltel (feltel)

17 Jahre

Mit dem heutigen Tag ist das, was quasi mal als Zeitvertreib in der Bundeswehr-Stube gestartet war, nun schon siebzehn Jahre durchgängig am laufen. Knapp 1,2 Millionen Beiträge gibt es und fast 39000 Mitglieder, die mal mehr oder minder aktiv das Forum bilden. Das ich debianforum.de nun schon fast zwei Dekaden lang betreiben würde oder es […]

von feltel am 19.12.2018 18:35


Willkommen!
Forum
Chat
Wiki/Tipps
Planet
Bildergalerie
Links
Twitter
dieses und jenes
Blogger
(BigOlly) (feed)
(Lord_Carlos und mweinelt) (feed)
(Meillo) (feed)
(Trurl) (feed)
(c3f2o) (feed)
(emge) (feed)
(trompetenkaefer) (feed)
Andre Nitschke (gnude) (feed)
Axel Hellinger (cryptolegal) (feed)
Beni Goll (Bennerl) (feed)
Bernd Dau (whisper) (feed)
Bert Radke (bert) (feed)
Bjoern Schiessle (BeS) (feed)
Christian Imhorst (immi) (feed)
Christian Schmitt (slater) (feed)
Christoph Langner (Chrissss) (feed)
Christoph Wickert (raoul) (feed)
Daniel Gestl (mcdaniels) (feed)
Darian (thoys) (feed)
Dominik George (Natureshadow) (feed)
Dominik Kupschke (bommi) (feed)
Dominik Pieper (nachtwandler) (feed)
Falk Husemann (josen) (feed)
Felix Schmeing (gimbar) (feed)
Gerrit Kruse (MrGerardCruiz) (feed)
Helmut Roewer (Dunkelangst) (feed)
Hendrik Richter (Hendi) (feed)
Holger Reinmann (codeaeffchen) (feed)
Jan Hauke Rahm (jhr-online) (feed)
Jochen Skulj (feed)
Jochen Welzel (jeff84) (feed)
Joerg Kastning (Tronde) (feed)
Jörg Kruse (4A4B) (feed)
Jürgen Braun (jaybe) (feed)
Lars Moelleken (voku1987) (feed)
Malte Kiefer (beLI3VeR) (feed)
Malte Schmidt (maltris) (feed)
Manuel Kaderli (suntsu) (feed)
Marc Nowak (TCA) (feed)
Marco Laspe (rockiger) (feed)
Marco Scholtyssek (marco_s) (feed)
Marco Scholtyssek (marco_s) (feed)
Marius M. M. (devilx) (feed)
Markus Matuszczak (konsumer) (feed)
Markus W. Kropp (Musix) (feed)
Martin Dosch (Dogge) (feed)
Mirko Weber (tylerD) (feed)
Nico Hartung (xyznico) (feed)
Oliver Groschopp (beetlefrosch) (feed)
Patrick Schmid (compr00t) (feed)
René Hering (ReneH) (feed)
Roman Hanhart (Thurgau) (feed)
Sabine Becker (AtariFrosch) (feed)
Sebastian Feltel (feltel) (feed)
Sebastian Moors (mauser) (feed)
Stefan Fahl (stefan) (feed)
Stefan J. Betz (encbladexp) (feed)
Steffen Moeller (smoe) (feed)
Steffen Rumberger (inne) (feed)
Stephan Tetzel (zefanja) (feed)
Sven S. (FearFactor) (feed)
Thorsten Sperber (TRex) (feed)
Tobias Dols (TobsenD) (feed)
Tom Karasek (Natas12) (feed)
Torsten Werner (bollin) (feed)
Viktor Bindewald (Vitei) (feed)
Vinzenz Vietzke (vinz) (feed)
posativ (feed)
Feeds
ATOM Feed
RSS 1.0 Feed
RSS 2.0 Feed
FOAF
OPML
Letztes Update
18.01.2021 08:01 (GMT+1)
Planetarium
Planet Debian
Planet Debian Administration
Planet Skolelinux
Planet Ubuntu
Planet RootForum
Planet symlink
Planet GNOME
Planet KDE
Planet Apache
Planet freedesktop.org
mehr ...
top
Zum Seitenanfang
Diese Webseite ist keine offizielle Webseite des Debian Projekts.
Haftungsausschluss und Impressum –Datenschutzrichtlinie – debianforum.de Verhaltensregeln

Powered by Planet Venus
Template entwickelt von Timo Salmen, basierend auf dem Debian Live Template, entwickelt von Christoph Haas.