DevDiary

macOS Sonona mit Apple Silicon: Ruby korrekt installieren

Die mit macOS gelieferte Version von Ruby ist veraltet und sollte nicht mit Homebrew aktualisiert werden. Stattdessen sollte Ruby über ruby-install installiert und mit chruby verwaltet werden, wobei chruby auch in der zsh-Konfiguration eingebunden werden muss.



Kurznotiz: Python3 unter macOS Sonoma mittels venv nutzen

Mit der Einführung von macOS Sonoma hat Apple die Python-Runtimes und -Environments geändert, was zu einem neuen Fehler bei der Installation von Python-Applikationen führt. Die Lösung besteht darin, ein virtuelles Environment zu verwenden.


Private Repositories für Swift Packages über SSH Keys absichern

SwiftPM bindet Abhängigkeiten ein, auch aus privaten GitHub-Repositories. Die sicherste Authentifizierungsmethode ist die Nutzung von SSH-Schlüsseln. Dieser Blogpost erklärt, wie man ein privates Repository über SSH in SwiftPM und GitHub Actions integriert.



Jekyll/Minima: Seiten im Navigation Header sortieren

Jekyll-Nutzer mit dem Minima-Theme können einfach festlegen, welche Seiten im Header erscheinen und in welcher Reihenfolge, indem sie den Key header_pages in der _config.yml-Datei konfigurieren. Hierzu werden die gewünschten Seiten im header_pages-Abschnitt der Datei aufgelistet.



Midnight Commander: Bilder und Videos mit Standard-Applikation öffnen

Midnight Commander (MC) ist ein Splitpane-Filemanager für das CLI, der auch über SSH genutzt werden kann. Um Dateien lokal mit den Standard-Anwendungen zu öffnen, muss die Datei mc.ext.ini angepasst werden. Dies erfolgt durch Einfügen spezifischer Befehle für Dateitypen, um die Konfigurationsdatei anzupassen und Dateien mit den im System verbundenen Anwendungen zu öffnen.


Zwei Verzeichnisse synchronisieren - PARANOID mode

Dieser Beitrag beschreibt die Anforderungen für das Vergleichen und Kopieren von Dateien zwischen Verzeichnissen, ohne neuere Dateien zu überschreiben oder Dateien im Zielverzeichnis zu löschen. Er erläutert den Prozess grafisch und erklärt die wichtigsten Rsync-Switches, die benötigt werden, um diesen Vorgang korrekt durchzuführen. Ein Rsync-Befehl für eine Simulation wird bereitgestellt, um sicherzustellen, dass der Vorgang wie gewünscht abläuft, bevor echte Änderungen vorgenommen werden.



TPM - Tmux Plugin Manager einrichten

Tmux ist ein nützliches Programm, das innerhalb einer Terminal-Session mehrere Fenster und Panes ermöglicht und die Produktivität, insbesondere über SSH, steigert. Mit dem Plugin-Manager tpm können zusätzliche Plugins und Themes wie tmux-sensible und dracula installiert werden. Der Beitrag erklärt, wie man tpm installiert, Tmux konfiguriert und Plugins aktiviert, um die Funktionalität von Tmux zu erweitern.


Blog-Images mit Imagemagick komprimieren

Imagemagick beeindruckt mich immer wieder. Mit dem Befehl convert -strip -interlace Plane -quality 70% -sampling-factor 4:2:0 -define jpeg:dct-method=float source.jpg output.jpg kann man Bilder konvertieren und optimieren. Installation: sudo apt install imagemagick (Linux) oder brew install imagemagick (macOS).



Ubuntu: HEIC in JPEG konvertieren (Batch)

Fotos, die mit iPhones aufgenommen werden, sind standardmäßig im HEIF-Format, das sich nicht gut zur Archivierung oder zum Weiterversenden an Nicht-Apple-Nutzer eignet. Zur Konvertierung großer Bestände eignet sich das Tool heif-convert, das unter Ubuntu mit sudo apt install libheif-examples installiert werden kann.



Kurznotiz: Leerzeichen in Dateinamen durch Underscores ersetzen

Für die Stapelverarbeitung von Dateien, zB. durch pigz oder gpg ist es nicht hilfreich, wenn Dateinamen Leerzeichen beinhalten, da Leerzeichen die Pfadangaben stören können. Manchmal ist es notwendig, alle Dateien und / oder Verzeichnisse in einem Verzeichnis automatisiert so umzubenennen, dass die Leerzeichen zu _ werden.



Kurznotiz: SCC, ein CLI Tool um Repositories zu analysieren

Eine interessante kleine Entdeckung: SCC, ein CLI-Tool, ermöglicht das Untersuchen von Verzeichnissen mit Source-Code. Was ich besonders spannend finde: die geschätzten Entwicklungskosten und -zeiträume.



Kurznotiz: GIT History löschen und pushen

Manchmal kommt es vor, dann man aus Versehen Murks commited und, noch schlimmer, vielleicht sogar aus Versehen sensible Informationen veröffentlich hat.



Einzelne Commits als Pull-Request in ein Upstream-Repository einpflegen

Manchmal ist es notwendig, einzelne Commits als Pull-Request zu senden, um Änderungen aus einem Downstream-Repository ins Upstream-Repository zu übertragen. Der Prozess umfasst das Erstellen eines neuen Branches basierend auf dem main-Branch des Upstream-Repositories, das Cherry-Picken der gewünschten Commits, das Pushen des neuen Branches in die eigene Fork und das Erstellen eines Pull-Requests.



Nerdfonts auf iPadOS installieren

Apple hat mit dem Release von iOS 13 und iPadOS 13 die Möglichkeit geliefert, eigene Schriftarten auf den Geräten zu installieren. Leider ist die Vorgehensweise extrem kompliziert. Abhilfe schafft das Tool Fontcase.



Kurznotiz: GIT History eines Repository löschen aber die Dateien behalten

Manchmal bedarf es Aufräumarbeiten innerhalb eines GIT-Repos, beispielsweise wenn ein altes Projekt migriert werden soll, ohne tausende von Commits zu übertragen.



ZSH Alias mit mehreren Parametern erzeugen

Programmierer:innen sind faul. Das müssen Sie auch sein. Ich wollte aber nicht nur faul sein, sondern auch schneller. Eine gute Methode um faul und schneller zu sein, sind Terminal-Alias, die lange Befehlsketten zu kurzen bündeln können.


GPG Expert Keygen: Keys auf die richtige Weise generieren

GPG-Keys sind essenziell für die Identitätsabsicherung, das Signieren von Commits und das Verschlüsseln von Dateien und E-Mails. Die empfohlene Praxis ist die Erstellung eines Hauptschlüssels und mehrerer Unterschlüssel für unterschiedliche Zwecke wie Signieren, Verschlüsseln und Authentifizieren. Dieser Post beschreibt die Erstellung dieser Schlüssel, die Generierung eines Widerrufszertifikats und das Sichern der Schlüssel.


Initiale Einrichtung Ubuntu 22.04 VPS

Einen VPS zu besitzen birgt Risiken, daher sind Sicherheitsmaßnahmen wichtig. Zu Beginn sollten SSH-Keys vorbereitet, das System aktualisiert und ein Non-Root-User erstellt werden. Die Firewall wird konfiguriert und SSH-Einstellungen angepasst, um die Sicherheit des Servers zu erhöhen.