Entwicklermodus unter iOS 16 aktivieren

Unter iOS kann der Entwicklermodus für das entsprechende Gerät aktiviert werden. Dazu müssen in der Theorie die Einstellungen geöffnet und anschließend der Punkt Datenschutz & Sicherheit ausgewählt werden. Dort wiederum findet sich der Punkt Entwicklermodus.

Die Einstellungen unter iOS

Allerdings kann es durchaus vorkommen, dass der Punkt Entwicklermodus nicht vorhanden ist. In diesem Fall muss ein entsprechender Mac her und dort Xcode gestartet und das Gerät mit dem Rechner verbunden werden. Nun sollte in den Einstellungen des iOS-Gerätes der Punkt Entwicklermodus vorhanden sein und kann aktiviert werden.

Album-Tags für MP3 und M4A Dateien setzen

Für eine Umbenennung war ich auf der Suche nach einer Möglichkeit in Audiodateien die entsprechenden Albumtags unter macOS zu setzen. Hierfür setzte ich exiftool und id3v2 ein. Im ersten Schritt wurden die Tools über den Paketmanager Homebrew installiert:

brew install exiftool
brew install id3v2

Für die M4A-Dateien wurde exiftool genutzt, welches mit kompletten Ordnern umgehen kann:

exiftool -album="Deus ex machina" .

Da exiftool die entsprechenden Tags für MP3-Dateien nicht schreiben kann, wurde für diese Dateien id3v2 in Verbindung mit dem find-Befehl genutzt:

find . -iname "*.mp3" -type f -exec id3v2 -A "Deus ex machina" {} \;

Damit wird der Album-Tag der entsprechenden Dateien neu gesetzt. Überprüft werden kann dies wiederum mit exiftool:

exiftool file.mp3

In der Ausgabe findet sich dann unter anderem der neu gesetzte Tag.

Applikationen unter macOS

Mit dem neuen Veröffentlichungsrhythmus von Deus ex machina erscheint pro Quartal mindestens eine Episode des Podcasts und in dieser Episode für das letzte Quartal des Jahres geht es um Applikationen unter macOS.

Das Dock unter macOS

Dabei werden nützliche Applikationen kurz beleuchtet und ihre Einsatzmöglichkeiten beschrieben. Der erwähnte Paketmanager Homebrew ist unter brew.sh zu finden.

Ed25519-SSH-Schlüssel im Terminal generieren

Wer in den letzten Jahren einen SSH-Schlüssel generiert hat, wird meist RSA als kryptografischen Verfahren dafür genutzt haben. Mittlerweile geht die Empfehlung für neue Schlüssel mehrheitlich zu solchen, welche auf elliptische Kurven basieren. Ein solcher Schlüssel kann im Terminal über den Befehl:

ssh-keygen -t ed25519

generiert werden. Alternativ kann eine entsprechende E-Mail-Adresse für den Schlüssel definiert werden:

ssh-keygen -t ed25519 -C "seeseekey@Machine.local"

Anschließend wird ein entsprechender Schlüssel erzeugt:

The key fingerprint is:
SHA256:1RCIsYVjuj9JUdpkAQEpnHmQEI2n+VsW1hr5dPk/X9w seeseekey@Machine.local
The key's randomart image is:
+--[ED25519 256]--+
|o*.=.o+*ooo.     |
|. O o =o=  o     |
| + o =.B .. .    |
|o   * = +.       |
| . . B oS.       |
|  . = o   .    ..|
|   + o .   .    E|
|  .   +     o  . |
|       .     o.  |
+----[SHA256]-----+

Wer sich den öffentlichen Schlüssel anschaut, wird feststellen, das dieser wesentlich kürzer ist:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDQFUwFRKdr/6xq208X6ME9kQF0pxVWSEmIkMqJXwUZ2 seeseekey@Machine.local

Die Länge des Schlüssels verglichen mit den RSA-Schlüsseln sagt allerdings direkt nichts über die Sicherheit des Schlüssels aus. Grundsätzlich sind die Ed25519-Schlüssel kürzer als vergleichbare RSA-Schlüssel. Daneben ist das Verfahren schneller und resistenter gegen Kollisionsattacken und sollte daher in Zukunft gewählt werden.

Audio-Dateien mittels ffmpeg normalisieren

Für einen Audio-Workflow wollte ich unter anderem Audio-Dateien normalisieren, damit diese mit einer identischen Lautheit verfügbar sind. Dazu kann das freie ffmpeg genutzt werden:

ffmpeg -i local.flac -filter:a loudnorm local.wav

Allerdings wird bei der Normalisierung eine 2-Pass-Lösung empfohlen. Dabei wird im ersten Durchlauf die Datei analysiert, um die entsprechenden Werte für die qualitativ hochwertige Normalisierung zu ermitteln:

ffmpeg -i local.flac -filter:a loudnorm=print_format=json -f null NULL

Für die entsprechende Datei wird dann eine Ausgabe erzeugt:

{
	"input_i" : "-33.65",
	"input_tp" : "-8.11",
	"input_lra" : "7.10",
	"input_thresh" : "-44.96",
	"output_i" : "-25.28",
	"output_tp" : "-2.00",
	"output_lra" : "4.50",
	"output_thresh" : "-36.36",
	"normalization_type" : "dynamic",
	"target_offset" : "1.28"
}

Mithilfe dieser Informationen kann dann der zweite Durchlauf gestartet werden:

ffmpeg -i local.flac -filter:a loudnorm=linear=true:i=-16:lra=7.0:tp=-2.0:offset=0.50:measured_I=-33.65:measured_tp=-8.11:measured_LRA=7.10:measured_thresh=-44.96 -ar 44100 local.wav

Da die Lösung mittels ffmpeg etwas umständlich ist, wurde ffmpeg-normalize entwickelt. Dieses Python-Tool kann über den Python-Paketmanager installiert werden:

pip3 install ffmpeg-normalize

Anschließend kann die Normalisierung und Konvertierung vorgenommen werden:

ffmpeg-normalize local.flac -o local.wav -ar 44100

In diesem Fall wird die FLAC-Datei normalisiert und in eine Wave-Datei konvertiert und die entsprechende Samplerate auf 44100 gestellt. Um das Kommando einfacher zugänglich zu machen, kann eine Bash-Funktion definiert werden. Unter macOS muss diese in der entsprechenden Konfigurationsdatei der Z shell angelegt werden:

nano ~/.zshrc

Anschließend kann die entsprechende Funktion in der Datei definiert werden:

normalize ()
{
  ffmpeg-normalize "$1" -o "$1".wav -ar 44100
}

Nachdem das Terminal neu gestartet wurde, kann das Kommando wie folgt benutzt werden:

normalize local.flac