Es existiert keine zufriedenstellende Möglichkeit, Dateien über Schlüsselworte recherchierbar zu machen - zumindestens in den von mir so bezeichneten Betriebssystemfamilien Linux und Windows. Ich habe mir eine mögliche alternative Vorgehensweise unter Linux angesehen.
In diese Zeit fiel mein Fund einer mehrteiligen Artikelreihe zum Thema Machine Learning: Dort wird in Teil 3 beschrieben, wie Bildklassifikation heutzutage funktioniert. es gibt diverse frei verfügbare Dienste, die eine API bereitstellen, um Bilder klassifizieren zu lassen. Egal, ob man diese Dienste benutzt, oder einen eigenen Dienst aufsetzt, der eine solche Kategorisierung durchführt - Es stellt sich die Frage, was man mit den Ergebnissen tun soll. Denn wenn es nicht so ist, dass man die Kategorisierung für ein Bild live durchführen will, sondern alle Bilder in einem Batch-Durchlauf mit Kategorien versieht - wohin mit den Ergebnissen: man will sie so speichern, dass man transparent und schnell darauf zugreifen und im Idealfall auch darin recherchieren kann.
Hier würden sich Tags anbieten, die einfach an die geweiligen Bilddateien "geklebt" werden könnten. Diese würden sich auch sehr leicht ergänzen und modifizieren lassen.
Vor allem möchte man auf die Informationen der Tags oder Kategorien aus verschiedenen Anwendungen heraus zugreifen können. Es ist einfach unhandlich, zur Recherche auf eine dedizierte Anwendung zurückgreifen zu müssen, die dann die Dateinamen der Kandidaten ausspuckt. Diese wiederum muss man in einem Bildbetrachter laden um über die visuelle Inspektion das passendste auszuwählen, welches dann wiederum in die Zielanwendung geladen wird. Ein Workflow, der einen solchen Namen eigentlich nicht verdient...
Das Bildverwaltungsprogramm GThumb bietet Möglichkeiten, Tags zu Bilddateien zu verwalten, allerdings ist mir keine Möglichkeit bekannt, auf diese Tags außerhalb der Anwendung zuzugreifen.
TagSpaces sieht vielversprechend aus (unterstützt auf allen großen Plattformen!), bis man die Dateien mit einem anderen Dateimanager betrachtet oder in der Texteingabe ein Verzeichnislisting durchführt: Dann erkennt man nämlich, dass die Tags in den Dateinamen hineingeschrieben werden. Das ermöglicht zwar eine einfache Suche nach Tags - einfach ein entsprechendes Dateinamensmuster angeben! - aber erstens existieren auf manchen Plattformen in manchen Dateisystemen Längenbeschränkungen für Datei- oder Pfadnamen und zweitens werden Dateinamen auf diese Art und Weise sehr schnell unübersichtlich.
Tagsistant geht noch einen Schritt weiter - hier geschieht auch das Hinzufügen von Tags über das virtuelle Dateisystem. Laut dem Github-Repository hat sich an dem Projekt seit 2014 nichts mehr getan - ich habe es trotzdem versucht und schildere hier mal meine Erkenntnisse:
Weiterhin musste ich einige weitere Softwarepakete installieren (meines Tests fanden mit sqlite3 als Backend statt - andere Datenbanken, beispielsweise MySQL habe ich noch nicht untersucht).
git clone https://github.com/StrumentiResistenti/Tagsistant.git tagsistant
cd tagsistant/
ln -s /usr/share/automake-1.15 /usr/share/automake-1.14
ln -s /usr/share/libtool/build-aux/ /usr/share/libtool/config
apt-get install libdbi1
apt-get install libdbi-dev
apt-get install libextractor-dev
apt-get install libdbd-sqlite3
./autogen.sh
./configure
make -j 5
make install
Neue Tags werden angelegt, indem man ein entsprechendes verzeichnis unterhalb des Unterverzeichnisses namens tags anlegt.
Tags werden gelöscht, indem man das entsprechende Verzeichnis unterhalb von tags löscht.
Will man Tagsistent nur fürs Taggen benutzen und die Dateien an einem anderen Ort traditionell in einer Verzeichnisstruktur organisieren, ist auch das möglich: Statt des Kopierens ins virtuelle Dateisystem kann man Dateien auch Tags zuordnen, indem man symbolische Links erstellt.
In diesem Fall muss man sich also etwas überlegen...
Dies ist die von mir präferierte Variante - allerdings müssen folgende Herausforderungen gemeistert werden:
26.11.2017
Ich habe eine Komponente erstellt, die die GUI für die Verwaltung von Tags darstellen könnte. Damit wäre etwa eine Möglichkeit geschaffen, eine komfortable Anwendung zur Verwaltung Tag-basierter Dateisysteme zu erstellen
Certstream, InfluxDB, Grafana und Netflix
16.04.2019
Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Git(lab|hub) Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.
Weiterlesen...Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:
Weiterlesen...Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.