Applikationsdaten unter macOS

Wenn eine Applikation unter macOS genutzt wird, speichert diese ihre Daten in einem Verzeichnis mit dem Namen Application Support. Je nachdem ob die App ohne oder mit einer Sandbox läuft, befindet sich dieser Ordner an einer unterschiedlichen Stelle. Bei Apps ohne Sandbox ist dies:

~/Library/Application Support/com.example.application/

Apps, welche in einer Sandbox laufen, haben ihren Quellpunkt im Dateisystem allerdings im Pfad:

~/Library/Application Support/Containers/com.example.application/

Damit befindet sich das Application Support-Verzeichnis bei Apps, welche in einer Sandbox laufen, im Pfad:

~/Library/Application Support/Containers/com.example.application/Data/Library/Application Support/

Nützlich ist z.B. wenn Daten einer Applikation von einer macOS-Installation zu einer anderen Installation verschoben werden sollen.

TLS – Schritt für Schritt erklärt

Wenn eine URL wie z.B. https://example.com über den Browser aufgerufen wird, erfolgt dieser Aufruf verschlüsselt. Zuständig dafür ist die Transport Layer Security kurz TLS. Wie genau die Aushandlung von TLS funktioniert, kann sich Byte für Byte auf der Webseite tls.ulfheim.net angeschaut werden.

The Illustrated TLS Connection

Auf der Seite wird in aller Ausführlichkeit der Verbindungsaufbau von TLS erläutert. Dabei wird wie es die Seite verspricht, jedes einzelne Byte entsprechend erklärt. Das Projekt, dessen Quelltext auf GitHub zu finden ist, ist unter der MIT-Lizenz lizenziert und damit freie Software.

Emulatoren in JavaScript

In JavaScript wurde eine unglaubliche Zahl an Anwendungen geschrieben. Von den einfachen Anwendungen der Frühzeit zu den mittlerweile komplexen Anwendungen der Neuzeit. So ist es zum Beispiel möglich das Nintendo Entertaiment System, zu dem in einem wissenschaftlichen Paper folgendes steht:

1 Introduction

The Nintendo Entertainment System is probably the best video game console, citation not needed.

zu emulieren. Im Browser läuft das Ganze dann mit einer Framerate von 60 frames per second und lässt sich flüssig spielen:

Der NES-Emulator CycloaJS

Neben diesem Emulator gibt es eine Unzahl an weiteren Emulatoren für die unterschiedlichsten Systemen angefangen bei Konsolen wie dem SNES, dem GameBoy über alte DDR-Computer wie den KC85 bis hin zu älteren Großrechnern wie der PDP-11. Eine Sammlung dieser in JavaScript geschriebenen Emulatoren ist auf in dem GitHub-Repository jsemu zu finden.

IntelliJ IDEA in den case-sensitiven Modus schalten

Bei einer normalen macOS-Installation ist das Dateisystem, egal ob HFS+ oder APFS case-insensitiv. Allerdings besteht bei beiden Dateisystemen die Möglichkeit sie case-sensitive zu betreiben. Das bedeutet das eine Datei mit dem Namen test.txt und eine Datei Test.txt zwei unterschiedliche Dateien sind. Bei case-insensitiven Dateisystemen wäre dies nicht der Fall. Bei einem Start der Java-IDE IntelliJ IDEA auf einem solchen case-sensitiven Dateisystem kommt es zu folgender Meldung:

Filesystem Case-Sensitivity Mismatch
The project seems to be located on a case-sensitive file system.
This does not match the IDE setting (controlled by property "idea.case.sensitive.fs")

Hintergrund ist das IntelliJ IDEA für die Betriebssysteme Windows und macOS annimmt das diese mit einem case-insensitiven Dateisystem betrieben werden.

Der entsprechende Eintrag befindet sich im Help-Menü

Über den Menüpunkt Help -> Edit Custom Properties… kann diese Verhalten korrigiert werden. Wenn dieser Punkt zum ersten Mal auswählt wird, erscheint eine Nachfrage ob die entsprechende Datei angelegt werden soll. Anschließend wird die Datei in IntelliJ IDEA geöffnet. Dort muss der Wert:

idea.case.sensitive.fs=true

hinzugefügt werden. Nach einem Neustart der IDE wird das neue Verhalten übernommen.

Verbleibende Zeit im Batteriebetrieb anzeigen

Bei batteriebetriebenen Apple-Geräten wie der MacBook-Serie gab es in früheren Versionen des Betriebssystems eine Anzeige der noch verbleibenden Zeit im Batteriebetrieb. Diese war zu sehen wenn das Akkusymbol in der Menüleiste angeklickt wurde. In neueren Versionen von macOS ist diese Angabe leider nicht mehr zu finden.

Die Angabe der verbleibenden Zeit ist verschwunden

Warum diese Angabe entfernt wurde ist unklar; allerdings kann sie anderweitig im System angezeigt werden. Eine Variante ist die Nutzung der Aktivitätsanzeige. In dieser findet sich im Tab Energie im unteren Bereich eine Anzeige der verbleibenden Zeit.

In der Aktivitätsanzeige kann die Angabe der verbleibenden Zeit noch gefunden werden

Neben dem Weg über die Aktivitätsanzeige, kann die verbleibende Zeit alternativ über das Terminal ermittelt werden. Dazu muss dort:

pmset -g batt

eingeben. Anschließend erscheint eine Ausgabe nach dem Schema:

-InternalBattery-0 (id=5331033)	74%; discharging; 2:29 remaining present: true

Die Zahl vor dem remaining gibt hierbei die verbleibende Zeit an.