Kategorien
Technik

Google Pixel 7 Pro

Zum neuen Google Pixel 7 Pro gibt es im Rahmen der Vorbesteller-Aktion ja die Pixel Watch LTE gratis mit dabei. Da ich zufällig gerade auf der Suche nach einem Nachfolger für mein Huawei P30 war und eh schon immer mal gerne eine Smartwatch mit Wear OS ausprobieren wollte, konnte ich einfach nicht widerstehen. 😉

Die Pixel Watch ist allerdings noch nicht hier. Erst ab dem 1. November kann man die Rechnung bei Tante Google einreichen. Die Pixel Watch wird einem dann irgendwann später zugeschickt. Ich bin mal gespannt.

In jedem Fall aber bin ich schon jetzt einigermaßen glücklich in Hinsicht auf den Preis. Die Kombination Samsung Galaxy S23 Ultra plus Samsung Galaxy Watch hätte direkt mal ein paar Hunderter mehr gekostet. 🤦🏻‍♂️

Kategorien
Verlinkt

Verlinkt (KW 53)

Kategorien
Technik

»Neuer« Rechner für Windows 98

Windows 98 20th Anniversary All New PC Build

Da hat jemand einen »neuen« Rechner aus alter, aber noch original verpackter Hardware für Windows 98 zusammengebaut. Genial. 😅

Ich selbst habe drüben im Schrank noch einen alten Rechner mit Windows 98 stehen. Den könnte ich ja auch mal wieder starten. 😎

Kategorien
Technik

Threema ist jetzt Open Source

Threema ist seit heute Open Source. Damit verschwindet endlich der einzige echte Kritikpunkt an diesem Messenger.

Der Quellcode von Signal lag zwar seit Anbeginn des Projekts vor, aber dass die Server in den Vereinigten Staaten liegen, fand ich schon immer schlecht. Die Nachrichten dort sind zwar ebenfalls Ende-zu-Ende-verschlüsselt, aber dennoch nervt mich die Vorstellung, dass die NSA trotzdem alles auf ihre Festplatten kopiert.

Einen gewaltigen Nachteil hat Threema aber dennoch: leider viel zu wenige User. 😒

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
Technik

Alle Dateitypen in WordPress erlauben

Kleiner Notizzettel zu WordPress und nicht erlaubten Dateitypen in der Mediathek.

Ich hatte gerade wieder so einen Fall und konnte mich noch dunkel daran erinnern, dass man hierfür die wp-config.php modifizieren muss.

Einfach am Ende der Datei define( 'ALLOW_UNFILTERED_UPLOADS', true ); anfügen und sämtliche Dateitypen können über das Backend hochgeladen werden.

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

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='\[3[0;32m\]\u\[\e[m\]\[3[0;32m\]@\[\e[m\]\[3[0;32m\]\H\[\e[m\]:\[3[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='\[3[0;32m\]\u\[\e[m\]\[3[0;32m\]@\[\e[m\]\[3[0;32m\]\H\[\e[m\]:\[3[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

Tiny Tiny RSS auf Uberspace 7

💡 Update am 24.05.2023: Da ich hin und wieder Anfragen zur Installation von Tiny Tiny RSS auf Uberspace 7 bekomme, sei einleitend angemerkt, dass ich mittlerweile FreshRSS nutze und auch empfehle.

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

Logfile-Analyse mit GoAccess auf einem Uberspace

Ich wollte mir heute nach langer Zeit mal einen aktuellen Überblick über die Crawler verschaffen, die meine Seite so ansteuern.

Da ich keine Zeit für und Lust auf Piwik Matomo habe, war ich auf der Suche nach einem schlanken Kommandozeilen-Programm, das direkt auf dem Server läuft und dort auf die access_log des Apache zugreift.

Fündig geworden bin ich in GoAccess. Auf einem Uberspace lässt sich das schnell in Betrieb nehmen.

Download und Konfiguration

Zuerst laden wir es im Home-Verzeichnis herunter, entpacken es, benennen den Ordner um und betreten diesen:

cd ~
wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
mv goaccess-1.3/ goaccess/
cd goaccess

Anschließend konfigurieren:

./configure --enable-geoip --enable-utf8 --prefix=/home/$USERNAME

Jetzt lässt sich GoAccess auch schon starten:

goaccess -a -p ~/goaccess/config/goaccess.conf -f /readonly/$USERNAME/logs/access_log

Nach dem Start des Programms muss man mit der SPACE-Taste nun noch Log-Format bestätigen, z.B. NCSA Combined Log Format. Nach der Bestätigung mit Enter wird das Dashboard gestartet.

Alias einrichten

Damit man nicht bei jedem Mal so viel tippen muss, richtet man sich noch einen Alias in der .bashrc ein:

nano ~/.bashrc

Der Alias könnte so ausschauen:

alias goaccess-log='goaccess -a -p ~/goaccess/config/goaccess.conf -f /readonly/$USERNAME/logs/access_log'

Jetzt noch die .bashrc neu einlesen:

source ~/.bashrc

Fertig. Das Programm lässt sich nun mit goaccess-log starten.