Maximilian Bosch arbeitet als Entwickler mit Scala, Haskell und Verfahren zur Ähnlichkeitssuche. Im Interview der Heise-Reihe „Die jungen Wilden“ beschreibt er seinen Weg von ersten Webseiten mit HTML und PHP zu professionellen Softwareprojekten.
Ein konkretes Projekt bei Mayflower nutzt Locality Sensitive Hashing, kurz LSH, um ähnliche Bilder in großen Datenbeständen schneller zu finden. Der technische Beitrag von Mayflower beschreibt, wie Merkmalsvektoren auf Hash-Tabellen verteilt werden. Bei einer Suche müssen dadurch nicht mehr alle gespeicherten Vektoren vollständig miteinander verglichen werden.
Ähnlichkeitssuche mit Scala und Redis
Die LSH-Bibliothek übernimmt die Berechnung, während ein Webservice und zusätzliche Komponenten die Anwendung erweitern. Das Projekt verwendet Scala und Akka. Redis speichert die berechneten Hashes, eine SQL-Datenbank hält ergänzende Informationen zu den jeweiligen Quellen. Als Einsatzbereiche nennt Mayflower unter anderem Bildsuche und die Verarbeitung von Gesichtsmerkmalen.
Docker und GitLab CI für reproduzierbare Abläufe
Bosch beschreibt außerdem die Arbeit mit Docker und automatisierten Abläufen. Das Mayflower-Projekt wurde über eine Pipeline mit GitLab CI und Continuous Delivery bereitgestellt. Die Verbindung aus funktionaler Programmierung, isolierten Umgebungen und automatisierten Builds zeigt einen Entwicklungsansatz, der auch bei technisch anspruchsvollen Tools und interaktiven Anwendungen eingesetzt werden kann.
Die frühere Scala-Native-Meldung dokumentiert einen weiteren Baustein aus dem Umfeld funktionaler und plattformnaher Softwareentwicklung. Bosch betont im Interview zugleich, dass praktische Projekterfahrung und ein sicherer Umgang mit den eigenen Werkzeugen wichtiger sind als kurzfristige Technologietrends.

