Probleme mit dem Git-Index beheben

Wer beim Arbeiten mit Git, z.B. beim Versuch einen Commit zu erstellen, folgende Meldung erhält:

fatal: unknown index entry format 0xb4d90000

ist damit konfrontiert das der Index des Git-Repositories Inkonsistenzen aufweist. In diesem Fall hilft es den Index zu löschen:

rm -f .git/index
git reset

Danach können wieder Dateien zum Index hinzugefügt werden und anschließend darauf aufbauende Operationen, wie Commits und ähnliches vorgenommen werden.

Powered by WordPress Footer entfernen

Wer das WordPress-Standardtheme Twenty Twenty-One nutzt, wird im Footer sicherlich schon die Zeile Powered by WordPress bemerkt haben. Wer diese Zeile im Footer störend findet, kann sie auf einfache Weise mit den WordPress-Bordmitteln beseitigen.

Der Footer im Theme Twenty Twenty-One

Dafür wird ein kleiner CSS-Schnipsel benötigt:

.site-info { display: none; }

Im WordPress-Backend findet sich im Menü unter Design -> Customizer die Möglichkeit einige Einstellungen des Themes vorzunehmen. Hier findet sich unter anderem der Punkt Zusätzliches CSS. Dort wird der CSS-Schnipsel eingefügt und das ganze abgespeichert. Damit ist die Powered by WordPress-Zeile im Footer Geschichte.

Gesperrte Fail2ban IP-Adresse entsperren

Fail2ban kann genutzt werden um Server gegen unbefugte Logins zu sichern. Dabei durchsucht Fail2ban die entsprechenden Logs und blockiert böswillige Versuche in das System einzubrechen. Damit gehört Fail2ban zu den Intrusion Prevention Systemen.

Manchmal kommt es allerdings vor das eine IP-Adresse gesperrt wird, welche nicht gesperrt werden sollte. Problematisch ist dies z.B., wenn es die eigene IP-Adresse ist. Der Fail2ban-Client bietet hierfür eine Operation an um IP-Adressen wieder zu entsperren:

fail2ban-client unban 192.168.1.2

Damit wird die entsprechende IP-Adresse von der Sperrliste gelöscht und die Firewall-Regel entfernt. Anschließend ist besagte IP-Adresse wieder in der Lage auf den Server zuzugreifen.

Freies Soundboard nun mit Broadcast-Funktionalität

Vor einigen Jahren hatte ich ein Soundboard entwickelt, welches ich vor allem für Pen & Paper-Rollenspiele benutzt habe. In Zeiten einer weltweiten Pandemie wäre es ziemlich unverantwortlich sich für ein solches Pen & Paper zusammen in einen Raum zu sitzen. Aus diesem Grund habe ich mein Soundboard um eine Broadcast-Funktionalität erweitert. Damit kann der Gamemaster die Master-Komponente nutzen, während die Spieler die Broadcast-Variante benutzen.

Das neue Soundboard; nun mit einer Remote-Komponente

Technisch läuft die Kommunikation der einzelnen Clients mit der Master-Komponente über einen Websocket-Server der in PHP implementiert wurde. Wenn der Gamemaster einen Clip abspielt, wird dieser bei den Spielern ebenfalls abgespielt. Jeder Spieler kann die Gesamtlautstärke individuell einstellen, während der Gamemaster die relative Lautstärke der Clips zueinander einstellen kann.

Zur Nutzung des Soundboard müssen die Soundclips in den assets-Ordner kopiert werden und dazu eine passende boards.json-Datei geschrieben werden. Ein Beispiel dieser Datei befindet sich im Repository. Anschließend kann das Soundboard im Browser genutzt werden. Soundclips können einzeln oder in einer Schleife abgespielt werden. Für jeden Clip lässt sich daneben die Lautstärke einzeln regeln. Auch das Abspielen von mehreren Clips parallel ist kein Problem. Zu finden ist das Soundboard auf GitHub. Lizenziert ist es unter der AGPL in der Version 3 und somit freie Software.

Same-Origin-Policy im Firefox für lokale Dateien deaktivieren

Der Zugriff auf lokale Dateien im Firefox ist aufgrund der Same-Origin-Policy im Normalfall nicht möglich. So kann z.B. eine lokale Datei nicht per AJAX nachgeladen werden:

Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf file:///path/to/file/test.json. (Grund: CORS-Anfrage war nicht http).

Das Feature an sich ist sinnvoll, doch manchmal soll dieses für Entwicklerzwecke abgeschaltet werden. Dies kann über den Aufruf von about:config erreicht werden.

about:config wird aufgerufen

In den Einstellungen findet sich das Attribut:

privacy.file_unique_origin

Wird dieser Wert auf false gesetzt können die Dateien lokal unter Aufhebung der Same-Origin-Policy geladen werden.