OpenJDK wird von IntelliJ IDEA nicht erkannt

Nach der Installation von OpenJDK über Homebrew unter macOS mittels:

brew install openjdk

wollte ich das JDK unter IntelliJ IDEA nutzen. Allerdings wurde es dort nicht erkannt. Nachdem ich eine Neuinstallation über Homebrew gestartet habe, fiel mir eine entsprechende Meldung auf:

==> Caveats
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

Nach der Ausführung des entsprechenden Befehls:

sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

funktionierte die entsprechende Erkennung in der IDE wieder und das OpenJDK konnte genutzt werden.

Schriftarten unter macOS manuell installieren

Unter macOS können Schriftarten über die Applikation Schriftsammlung installiert bzw. hinzugefügt werden. Sollen allerdings größere Schriftpakete hinzugefügt werden, so kann dies in der Applikation manchmal zu Problemen führen.

Die Schriftsammlung unter macOS

Allerdings gibt es einen manuellen Weg Schriftarten und macOS zu installieren. Dazu müssen die entsprechenden Font-Dateien in den Ordner:

~/Library/Fonts

kopiert werden. Anschließend werden sie automatisch vom System erkannt und können genutzt werden.

Minecraft-Befehl zum Entfernen bestimmter Spieler

Manchmal sollen in einem bestimmten Bereich einer Minecraft-Welt nur bestimmte Spieler Zutritt haben. Dies kann durch entsprechende Kommandoblöcke in Verbindung mit einem Trichter-Taktgeber gelöst werden.

Mit dem Befehl können Bereiche gesichert werden

Im ersten Schritt müssen alle Spieler, welche den Bereich betreten dürfen mit einem Tag versehen werden:

/tag seeseekey add invincible

Bei diesem Beispiel wird der Spieler seeseekey mit dem Tag invincible versehen. Nachdem der Tag vergeben wurde, kann ein entsprechender kill-Befehl geschrieben werden:

/kill @e[distance=..10,type=player,tag=!invincible]

In diesem Fall werden alle Entitäten vom Typ Spieler mit einer Distanz von bis zu zehn Blöcken zum Kommandoblock entfernt. Die Distanz gibt somit den sicheren Bereich an. Spieler welche mit dem definierten Tag versehen sind, sind von dieser Regel ausgenommen und können den Bereich normal betreten.

Alle Schriftfamilien des Noto-Fonts in einem Paket

Mit Noto existiert ein Font, mit welchem perspektivisch alle Unicode-Zeichen abgebildet werden sollen. Lizenziert ist dieser unter SIL Open Font License und damit frei verfügbar. Leider gibt es keine einfache Möglichkeit alle verfügbaren Noto-Schriftfamilien am Stück herunterzuladen.

fonts.google.com/noto

Aus diesem Grund habe ich ein Paket erstellt, in welchem alle 194 Schriftfamilien des Noto-Fonts enthalten sind. In manchen Paketen der Noto-Schriftfamilien sind statische und variable Font-Dateien enthalten. In einem solchen Fall wurden die statischen Daten in das Paket gepackt. Der Download des Paketes ist entsprechend verlinkt. Einzelne Schriftfamilie können direkt über die offizielle Noto-Webseite heruntergeladen werden.

WordPress Pseudo-Cronjob-System deaktivieren

WordPress verfügt über ein Pseudo-Cronjob-System, über welches regelmäßige Aufgaben seitens WordPress ausgeführt werden. Hintergrund ist, dass die meisten Webhosting-Pakete über keine echte Cronjob-Funktionalität verfügen. Ausgelöst wird das Pseudo-Cronjob-System durch Besuche der Webseite.

Allerdings führt dies auch zu Problemen; da es so vorkommen kann, das bestimmte Dinge, wie die Veröffentlichung geplanter Artikel, sich verzögern können. Wird WordPress auf einem dedizierten Server ausgeführt, kann hier auf einen echten Cronjob gewechselt werden. Dazu müssen zur Konfigurationsdatei wp-config.php folgende Zeilen hinzugefügt werden:

/* Deaktiviere WordPress Pseudo-Cronjob-System */
define('DISABLE_WP_CRON', true);

Damit die Cronjob-Funktionalität weiterhin funktioniert, muss der Cronjob entsprechend eingetragen werden. Dazu wird die Crontab-Datei im Kontext des Nutzers www-data geöffnet:

sudo -u www-data crontab -e

Dort sollte dann die entsprechende Zeile hinzugefügt werden:

*/1  *    * * *   php /var/www/wordpress/wp-cron.php

Damit werden die Aufgaben, welche WordPress im Rahmen seines Pseudo-Cronjob-System durchführt, nun durch einen echten Cronjob durchgeführt. Damit ist die Zuverlässigkeit des Systems erhöht und geplante Aufgaben, werden immer zeitnah erledigt.