Mond, Regulus und Venus

Eine schmale Mondsichel mit 4,7 % beleuchteter Fläche gesellte sich heute morgen zu Venus und Regulus. (Regulus ist auf dem folgenden Bild schwer erkennbar, in der Original-Auflösung fällt es leichter)

Mond, Regulus und Venus; Nikon D300 + 250 mm f/5,6, 1/250 s, freihand (Bild in Original-Auflösung ansehen)
Mond, 4,7 % beleuchtet. Nikon D300 + 400 mm f/5,6, 1/500 s, freihand (Bild in Original-Auflösung ansehen)

GNU Stow: Dotfiles bequem managen

GNU Stow löste zuletzt bei mir eine selbstgebaute zentrale Verwaltung von Konfigurations-Dateien ab. Etwas Kontext: Ich habe für viele Programme Konfigurationsdateien in meinem Home-Directory zu liegen. Diese Dateien – meist einfach Dotfiles genannt – möchte ich auf mehreren Rechnern synchron halten. Dies ermöglicht es, dass sich die damit konfigurierten Programme wie tmux, Vim oder auch Git überall gleich und vorhersagbar verhalten. Weitere Kandidaten neben reinen Konfigurationsdateien sind z. B. Shell-Skripte für die tägliche Arbeit.

Die erste Idee, die man haben würde: einfach ein Git-Repository1 erstellen, in dem man die Konfigurations-Details verwaltet. Das unmittelbar auftauchende Problem: Man möchte/kann/soll kein VCS-Repository im Home-Verzeichnis haben, da dies eine ganze Menge Probleme mit sich bringt und schlicht nicht praktikabel ist.

Der nächste Schritt ist dann, alle diese Dateien in einem Unterverzeichnis zu sammeln und dieses mit einem VCS managen. Das Installieren der Dateien ins Home-Verzeichnis kann man dann mit einem simplen Shell-Skript oder auch mit einem Makefile erledigen. Diese Variante habe ich jetzt jahrelang erfolgreich im Einsatz gehabt. Sobald ich ein neues Dotfile benötigte, erstellte ich dieses zusammen mit einem Make-Target in meinem dotfiles-Verzeichnis. Der simple Aufruf von make kopierte die Datei dann ins Homeverzeichnis (bzw. erstellte dort einen Symlink).

Vor ein paar Tagen scrollte dann dieser Tweet an mir vorbei:

Relearning GNU stow to apply to dotfiles, as one does when @fink_ says to. (E.g. http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html …) — @jpmens

Das klang interessant und wurde noch besser als ich den verlinkten Blogpost las. GNU Stow ermöglicht es auf einfachste Weise die Dotfiles zentral zu verwalten und mit simplen Befehlen die gewünschten Dateien ins Home-Verzeichnis zu linken. Die Einsparung gegenüber dem vorhandenen Makefile sieht im ersten Moment nicht allzu groß aus, aber wenn ich mir das Schreiben von Make-Targets sparen kann, dann kostet das zum Einen weniger Zeit und eliminiert zum Anderen natürlich mögliche Fehlerquellen.

Ich musste in meinem dotfiles-Verzeichnis nur ein paar Sachen umbenennen bzw. verschieben und war innerhalb kürzester Zeit in der Lage meine Dotfiles mit Stow ins Home-Directory zu befördern.

Der im Tweet verlinkte Blog-Artikel erklärt sehr gut und abschließend, wie man seine Dotfiles Stow-kompatibel organisiert.

Bonus: Arbeitet man mit mehreren User-Accounts auf einer Maschine, reicht ein zentrales Dotfiles-Directory, aus welchem man dann mit der --target-Option von Stow Symlinks auf die Config-Files in die verschiedenen Home-Directories platziert.

1 Jede andere Versionsverwaltungs-Software ist ebenfalls geeignet.

Regenbogen 🌈

In meiner Erinnerung existiert kein Regenbogen, der annähernd so intensiv geleuchtet hat wie dieser hier eben.

Nikon D300 + Sigma 10-20 mm @ 10 mm, Aufnahmeort: Bestensee, 2017-09-12 18:46 CEST

My wonderful world of macOS 💻

I use a lot of applications on my mac. Here is a list of the ones that I love and use the most in my day to day life, sorted by their importance

Eine umfangreiche Liste mit vielen Tools, die einem die tägliche Arbeit mit macOS erleichtern oder erst möglich machen. Vieles davon setze ich auch ein, einige Sachen sind mir allerdings neu und werden auch erst mal näher angeschaut.

YAGNI, Cargo Cult and Overengineering

It’s 2012. We’re redesigning my employer’s flagship product. The first version was a monolith that used the boring MySQL. Spending too much time reading blogs and Hacker News comments section, we convinced ourselves that we need to go big and modern:

  • Break monolith into service-oriented architecture, aka, the SOA.
  • Replace MySQL with Cassandra (MySQL to Redis to Cassandra)

And we built it.

There was nothing wrong with the new system… except one major flaw. It was too complex for a small startup team to maintain. We had built a Formula One race car, that makes frequent pit-stops and requires very specialized maintenance, when we needed a Toyota Corolla that goes on for years and years on just the oil change.

YAGNI, Cargo Cult and Overengineering – the Planes Won’t Land Just Because You Built a Runway in Your Backyard

Ausflug an den Rand des Unterspreewalds 🚵