Kategorien
Real Life Technik

35 Jahre Microsoft Windows

Microsoft Windows wird heute 35 Jahre alt. Ganz so lange nutze ich es selbst allerdings noch nicht.

Windows 3.11

Meine erste Version war 1992 Microsoft Windows 3.11, welches bei meinem zweiten PC, einem AT 486 DX-50, dabei war. Da mir die Tastatur seinerzeit gewissermaßen an den Fingern festgewachsen war, sah ich in einer grafischen Benutzeroberfläche allerdings keinen Mehrwert für mich. Und so sah ich auf dem Bildschirm meist mein vertrautes MS-DOS 5.0, auch wenn es hin und wieder ganz amüsant war, das Programm mit den Fenstern zu starten.

Windows 98

Zu einem richtigen Windows-User wurde ich erst Ende 1998, als ich mir für meinen ersten eigenen Internetanschluss einen Rechner mit AMD K6-2 und 350 MHz Taktfrequenz zulegte. Auf diesem lief Microsoft Windows 98. Online gegangen bin ich anfangs mit AOL, ab 1999 dann mit Cityweb.

Im Laufe der Wochen und Monate hatte ich mein neues Betriebssystem so oft genutzt, dass es heute für mich eine regelrechte Zeitreise ist, wenn ich die Startsound von Windows 98 höre: schlagartig ist es 1999; ich komme gerade vom Früh- oder Spätdienst, stehe in meiner Dorstfelder Wohnung im Badezimmer oder in der Küche, während ich durch den Flur höre, wie im Wohnzimmer gerade mein Rechner hochfährt. Herrlich.

Windows XP und Windows 7

Auch wenn ich mich noch dunkel daran erinnere, relativ häufig ein wutentbranntes format C: in die Tastatur gebrüllt zu haben, so nutzte ich Windows 98 letztendlich doch einige Jahre. Erst um 2003 herum stieg ich auf das aktuelle Microsoft-Betriebssystem Windows XP um und blieb diesem bis zu Windows 7 treu. Windows Me und Windows Vista blieben mir also erspart.

Kategorien
Allgemein Technik

Corona-Warn-App

Die Bundesregierung hat tatsächlich jede Zeile des Codes der Corona-Warn-App veröffentlicht. Sogar die Webseite, der Server und das API sind open source. Ich bin fast geneigt, mein Lob auszusprechen.

Aber was lese ich denn da:

The German government has asked SAP and Deutsche Telekom to develop the Corona-Warn-App for Germany as open source software. Deutsche Telekom is providing the network and mobile technology and will operate and run the backend for the app in a safe, scalable and stable manner. SAP is responsible for the app development, its framework and the underlying platform.

Wie, SAP und Telekom? Ich dachte immer, Jens Spahn hätte alles in seinem Kinderzimmer auf dem C64 programmiert (und deswegen hätte die Entwicklung so lange gedauert). 🤣🤪

Kategorien
Technik

Facebook schnüffelt auf vielen Nachrichtenseiten

Matthias Eberl hat sich hingesetzt und 130 deutsche Nachrichtenseiten untersucht. Dabei hat er festgestellt, dass Facebook die Besucher auf drei Viertel aller Seiten trackt. Amüsant: die Webseiten der öffentlich-rechtlichen Sender sind DSGVO-konform. (Via.)

Kategorien
Technik

DSGVO-Bußgeld für N26

Die Berliner Datenschutzbeauftragte Maja Smoltczyk hat gegen N26 wegen eines Verstoßes gegen die DSGVO ein Bußgeld in Höhe von 50.000 Euro verhängt, weil die Bank einige ehemalige Kunden auf eine »schwarze Liste« gesetzt hat, damit diese kein neues Konto eröffnen können. Erlaubt ist das aber nur bei Kunden, die unter dem Verdacht der Geldwäsche stehen.

Kategorien
Technik

Bash-Prompt umgestalten

Wenn ich auf einem Linux-System unterwegs bin und auf der Bash das aktuelle Verzeichnis wissen möchte/muss, mache ich das meist ganz klassisch mit pwd (print working directory).

Auf meinem Uberspace soll das aber zukünftig direkt im Prompt (also der Eingabeaufforderung) der Bash stehen. Das kann man mit wenigen Handgriffen an der Umgebungsvariable PS1 ändern.

PS1

Der aktuelle Zustand wird mit echo $PS1 ausgelesen. Auf einem frisch eingerichteten Uberspace 7 bekommt man folgende Ausgabe (der User hat in diesem Beispiel den html-Ordner über den symbolischen Link im Home-Verzeichnis betreten):

[username@host html]$echo $PS1
[\u@\h \W]\$

Angezeigt wird im Prompt also der angemeldete User, gefolgt von einem @-Zeichen, dem Hostnamen, einem Leerzeichen sowie dem aktuellen Verzeichnis und einem $-Zeichen. Das alles steht in eckigen Klammern.

Ich möchte aber nun, dass nicht nur zusätzlich der komplette Pfad angezeigt wird. Wenn ich schon mal dabei bin, ändere ich auch gleich noch ein paar andere Dinge. Insgesamt soll mein Prompt auf dem Server diese Form haben:

username@FQDN pfad $

Der Username, gefolgt von einem @, dem FQDN (fully qualified domain name), einem Leerzeichen, dem kompletten Pfad, einem weiteren Leerzeichen, dem $-Zeichen und schließlich einem zusätzlichen Leerzeichen. Die eckigen Klammern sollen ebenfalls verschwinden.

Folgendes muss hierfür in die PS1 eingetragen werden:

PS1='\u@\H \w \$ '

Das Ergebnis schaut im html-Verzeichnis dann so aus:

username@host.uberspace.de ~/html $ 

Oder, wenn man das html-Verzeichnis nicht über den symbolischen Link im Home-Verzeichnis, sondern über die unterste Ebene des Systems betritt, eben so:

username@host.uberspace.de /var/www/virtual/username/html $ 

Eine Auflistung weiterer Variablen gibt es z.B. hier.

Das alles geht allerdings auch noch komplizierter. 😉

Mit Farben

Man kann den Prompt z.B. farblich gestalten. Die Form

username@host.uberspace.de:/var/www/virtual/username/html$

mit den Farben Grün und Hellblau würde sich so ganz gut machen:

PS1='\[\033[0;32m\]\u\[\e[m\]\[\033[0;32m\]@\[\e[m\]\[\033[0;32m\]\H\[\e[m\]:\[\033[1;34m\]\w\[\e[m\]\\$ '

Mir persönlich gefällt dieses Beispiel sogar noch besser als das weiter oben, also lasse ich es auch so. Ein paar Farben können ja nicht schaden. 👍

Man könnte den Prompt natürlich noch mehr umgestalten, etwa auch mit Hintergrundfarben, aber das wäre mir persönlich dann schon wieder zu unübersichtlich.

Änderungen dauerhaft nutzen

Die Änderungen an der Umgebungsvariablen PS1 gehen freilich verloren, wenn man sich neu im System einloggt.

Damit diese dauerhaft gespeichert werden, muss man einen Eintrag in der .bashrc im Home-Verzeichnis hinterlegen. Dieser könnte etwa so aussehen:

# Bash-Prompt
# Default auf diesem System war:
# [\u@\h \W]\$
PS1='\[\033[0;32m\]\u\[\e[m\]\[\033[0;32m\]@\[\e[m\]\[\033[0;32m\]\H\[\e[m\]:\[\033[1;34m\]\w\[\e[m\]\\$ '

Abschließend die .bashrc neu einlesen:

source ~/.bashrc

Alternativ könnte man sich natürlich auch einfach neu am Server anmelden.

Kategorien
Technik

Erneut Datenschutz-Panne bei Facebook

Mal wieder ein Datenschutz-Problem bei Facebook. Seit Mai 2016 hat das Netzwerk ungefragt die E-Mail-Kontakte von 1,5 Millionen Usern abgegriffen. Aus Versehen natürlich. 🤦🏻‍♂️

Kategorien
Technik

Tiny Tiny RSS auf Uberspace 7

Ich bin erst kürzlich (naja, im Dezember) von Uberspace 6 auf Uberspace 7 umgestiegen und wollte dort auch Tiny Tiny RSS installieren, was problemlos funktioniert hat.

Im Folgenden eine kleine Anleitung, wie man den RSS-Reader auf einem frisch eingerichteten Uberspace-7-Account installieren kann. Als Datenbank kommt MySQL MariaDB zum Einsatz, die Installation liegt in https://$USERNAME.uber.space/ttrss. Das geht natürlich auch mit eigenen Domains.

Installation

Download

Zuerst betreten wir den html-Ordner und klonen das Git-Repository in den Unterordner ttrss:

cd /var/www/virtual/$USERNAME/html/
git clone https://tt-rss.org/git/tt-rss.git ttrss

Datenbank

Jetzt erstellen wir eine neue Datenbank für Tiny Tiny RSS:

mysql -e "Create Database $USERNAME_ttrss"

Das Passwort wurde bei der Einrichtung des Uberspace-Accounts automatisch angelegt und ist im Homeverzeichnis zu finden:

cat ~/.my.cnf

Tiny Tiny RSS ist jetzt über das WWW erreichbar und kann eingerichtet werden. Die Default-Zugangsdaten lauten:

Username: admin
Passwort: password

Das Passwort sollte man natürlich am besten umgehend ändern. 😉

RSS-Feeds aktualisieren

Manuell

Wenn man seine RSS-Feeds nur am Desktop-Rechner oder Notebook liest, würde es prinzipell reichen, wenn man sich via Shell am Server anmeldet und den Daemon dort startet:

php /var/www/virtual/html/$USERNAME/ttrss/update.php – daemon

Mit Strg+c wird der wieder gestoppt. Alternativ könnte man das auch in ein Shell-Skript schreiben und dieses nach der Anmeldung am Server z.B. mit dem .bashrc-Alias ttrss starten.

Automatisiert

Das alles geht natürlich auch automatisch und ist ganz praktisch, wenn man tippfaul ist oder die Feeds auch via App auf dem Telefon lesen möchte.

Via Cronjob

Die Crontab mit crontab -e öffnen und z.B. folgende Zeilen eintragen:

# Tiny Tiny RSS
*/30 * * * * php /var/www/virtual/$USERNAME/html/tt-rss/update.php – feeds – quiet

Die Feeds werden hierbei alle 30 Minuten aktualisiert.

Als Dienst

Hierfür könnte z.B. im Ordner ~/scripts das Shell-Skript ttrss.sh mit folgendem Inhalt erstellt werden:

#!/bin/bash
cd /var/www/virtual/&USERNAME/html/ttrss/
exec php ./update_daemon2.php – daemon 2>&1

Ausführbar machen:

chmod u+rwx ~/scripts/ttrss.sh

Nun wird für dieses Skript ein Dienst eingerichtet (an dieser Stelle könnte auch, wie weiter oben bereits angesprochen, ein .bashrc-Alias Verwendung finden):

cd ~/etc/services.d/
nano ttrss.ini

Der Inhalt der ttrss.ini:

[program:ttrss]
command=/home/$USERNAME/scripts/ttrss.sh
autostart=yes
autorestart=yes

Die neue ttrss.ini einlesen:

supervisorctl reread

…und starten:

supervisorctl update

Sollte es keine Fehlermeldungen geben, läuft Tiny Tiny RSS jetzt als eigener Dienst auf dem Server, was man sich z.B. im Programm htop jetzt anschauen könnte.

Weitere Befehle:

Neustarten mit supervisorctl restart ttrss, stoppen mit supervisorctl stop ttrss, starten mit supervisorctl start ttrss.

Kategorien
Technik

Twitter aufräumen

Twitter, ein leidiges Thema bei mir. Vor 11 Jahren, als ich meinen Account registriert hatte, bin ich einigermaßen begeistert gestartet. Mittlerweile ist das in den vergangenen Jahren aber ein wenig eingeschlafen. Löschen möchte ich meinen Account (noch) nicht, aber doch mal ein wenig aufräumen.

Tweets löschen

Da gibt es ja allerhand Apps, die das mehr oder weniger gut können. Das habe ich auch in der Vergangenheit hin und wieder mal gemacht.

Follower löschen

Ich hatte, als ich Twitter noch regelmäßiger genutzt habe, um die 1200 Follower. In den letzten zwei Jahren war ich dort aber so gut wie gar nicht mehr aktiv. Dennoch waren es bis vorhin noch knapp über 1000 Follower. 90% von denen kannte ich überhaupt nicht. Unter diesen waren auch einige Marketing-Fuzzies und sonstiger Bodensatz des Internets. Das musste also alles weg.

Leider kann man Follower nicht einfach so entfernen. Man muss sie blockieren. Wenn man sie danach wieder ent-blockiert, folgen die Accounts einem nicht mehr. Es gibt eine praktische Chrome-Erweiterung, mit der man automatisiert Follower blockieren kann.

Jetzt hatte ich natürlich knapp 1000 blockierte User in meinem Account. Auch irgendwie doof. Hier habe ich allerdings eine Möglichkeit gefunden, diese blockierten User ohne zusätzliche Apps automatisiert aus dem Account zu entfernen.

Man loggt sich via Google Chrome in seinen Twitter-Account ein und wechselt in die Seite mit den blockierten Usern. Jetzt startet man die Chrome-Entwicklertools und öffnet die Konsole. Mit var autoScroll = setInterval(() => window.scrollTo(0, document.body.scrollHeight),1000); wird die Seite ganz ans Ende gescrollt. Für mich mit meinen 1000 Blockierten ganz praktisch. Ein clearInterval(autoScroll) stoppt das automatisierte Scrollen.

Abschließend werden die User mit $('.user-actions-follow-button').click() wieder ent-blockt.

Fertig. Man hat jetzt wieder einen »sauberen« Account ohne Follower und ohne blockierte User.

Kategorien
Allgemein Technik

Urheberrechtsreform

Uploadfilter und Leistungsschutzrecht kommen. Martin Sonneborn hat in einer schönen Grafik dargestellt, wer uns das eingebrockt hat.

Kategorien
Technik

Facebook hat Passwörter im Klartext gespeichert

Facebook hat offenbar seit 2012 Hunderte Millionen Facebook- und Zehntausende Instagram-Passwörter im Klartext gespeichert. 🤦🏻‍♂️