Blog & Articles

Blog Post

That looks oddly familiar

Perceptual hashing is an exciting technique for processing media files and finding similar content. In this post, we combine Rust and pHash to find perceptual similarities in our photo library.

Blog Post

Carbon dioxide monitoring with Rust, InfluxDB and Grafana

Carbon dioxide monitoring with Rust, InfluxDB and Grafana.

Article

Health-Checks in Java-Anwendungen

Die Gesundheit immer im Blick

Article

Media Art Opens Up New Perspectives

The more technological developments progress, the more we use digital innovations to shape our lives. Codes and algorithms play a decisive role in determining how we use and perceive information. Media artists do not remain untouched by this phenomenon. Through their digital works of art, they take a stand on many questions facing our society. Media art reveals new perspectives, but also reminds us of the responsibility borne by technology companies and software developers.

Article

Evolution statt Verschlimmbesserung

Erweitern, ändern und korrigieren bestehender Software - meistens unter Zeitdruck – führt in vielen Fällen zu schleichendem Verfall. Dadurch werden Änderungen einerseits immer schwieriger, andererseits auch immer teurer und riskanter. Das Open-Source Projekt aim42 (architecture improvement method) setzt genau dort an – mit Praktiken und Patterns für systematische Verbesserung – technologieneutral und leichtgewichtig.

Blog Post

Logging mit Docker und Elasticsearch

Blog Post

Supporting understanding with simplicity

Why do we even talk about simplicity? Why is it such a hot topic? Why is nobody praising complexity? Why do things like the KISS exist?

Blog Post

Tags für Docker Images ohne Registry

Gibt man bei “Tags” von Docker Images keine Registry an, so wird die Standard-Registry unter docker.io benutzt. Taggen ganz ohne Registry-Angabe scheint nicht vorgesehen zu sein, obwohl es dafür gelegentlich gute Gründe gibt. Der hier vorgestellte einfache Workaround hilft.

Blog Post

Fehlerbehandlung in Shellskripten.

Blog Post

Vertrauensvolle und angstfreie Kommunikation als Grundlage gelungener Softwarearchitektur

Steht und fällt der Erfolg einer Softwarearchitektur und damit eines Projektes mit einer technischen Entscheidung zugunsten von Microservices oder Monolithen oder müssen viel früher Weichen gestellt werden, um sicherzustellen, dass technische Entscheidungen die gewünschten Ziele erreichen: Einige Gedanken zu Kommunikation in Projekten.

Blog Post

Wer braucht denn noch die JVM?

In der neuen cloudbasierten Containerwelt erscheint die JVM plötzlich als groß und schwerfällig. Die Beliebtheit von Go gibt einen Hinweis darauf, dass es Zeit ist, sich nicht nur mit der nächsten Sprache für die JVM zu beschäftigen, sondern auch mit anderen Konzepten insgesamt.

Article

Kluge Kontrakte auf Basis von Ethereum

Achten Sie auf das Kleingedruckte

Article

Probleme bei der Einführung von Microservices: Seien Sie vorbereitet!

Nachdem man sich die Frage gestellt hat, warum man Microservices einsetzen will, und diese richtig beantwortet hat – nicht wegen dem Hype oder um als spannendes Unternehmen für Fachkräfte dazustehen –, geht es im nächsten Schritt natürlich darum, Microservices auch einzuführen. Dabei wird man auf jeden Fall auf einige Probleme stoßen. Es gilt, die Zahl der unknown Unknowns zu reduzieren, sodass Sie in Ihren Projekten weniger Überraschungen erleben. Die Probleme teilen sich in vier Bereiche auf: Technik, Prozesse, Schnitt und Menschen.

Article

Jepsen – verteilte Systeme testen

An verteilten Systemen kommt heute kein Entwickler mehr vorbei. Selbst wenn man keines baut, setzt man häufig Komponenten ein, die ein verteiltes System sind. Hierzu gehören vor allem viele Vertreter von neueren Datenbanken. Dieser Artikel zeigt, wie man diese mit Jepsen testen kann.

Blog Post

What’s in a Name: Evaluate

Article

Unendliches Vertrauen

Continuous Delivery steht für die ständige Auslieferung von Software in Produktion – ein Konzept, das mittlerweile mehr als fünf Jahre alt ist. Zeit ein Fazit zu ziehen und auf die Erfahrungen aus der Praxis zu schauen.

Article

Command Line Interfaces in Java

Die meisten neuen Anwendungen stellen eine Web- oder grafische Benutzungsoberfläche für die Interaktion mit dem Benutzer bereit. Doch gerade für Anwendungen, die Teil eines Batch-Jobs sind, automatisiert aufgerufen werden oder für sogenannte Powernutzer gemacht sind, bietet es sich an, eine Oberfläche für die Kommandozeile anzubieten. Dieser Artikel zeigt die Bestandteile einer solchen Anwendung und wie man diese in Java benutzt.

Blog Post

Elm in the wild: A Sandwich Delivery Game

Article

Logging und Metriken in verteilten Systemen

Aufgrund des aktuellen Trends rund um Microservices entsteht in vielen Projekten ein verteiltes System. Eine Herausforderung von verteilten Systemen ist deren Überwachung und das Nachvollziehen, was zur Laufzeit vor sich geht. Dieser Artikel gibt Ihnen einen Überblick, wie dies mit Logging und Metriken gewährleistet werden kann.

Article

Automatisiertes Testen mit Lognachrichten

Software-Systeme sind heute verteilt: Zahlreichen Microservices auf diversen Servern von verschiedenen Entwickler-Teams kommunizieren nicht mehr nur untereinander sondern auch mit, eher unzähligen, kleinen Systemen aus dem Internet der Dinge. Meist werden die notwendigen Integrationstests aufgrund der inhärenten Komplexität bei der Umsetzung und Ausführung manuell durchgeführt. Wie jedes System mit Hilfe der ohnehin vorhanden Lognachrichten einfach für automatisierte Integrationstests fit gemacht werden kann, soll im Folgenden beschrieben werden.

Blog Post

ROCA-Compliant Table Sorting

Article

Microservices – der aktuelle Stand

Microservices sind in aller Munde. Gerade bei Software-Entwicklung machen solche Hypes misstrauisch. Schließlich steckt hinter einem Hype oft wenig Substanz. Es ist also Zeit ein erstes Fazit zu ziehen.

Article

Warum wollen Sie Microservices einführen?

Mit diesem Artikel möchte ich Ihnen die Frage stellen, warum Sie eigentlich Microservices einführen wollen. Denn es ist immens wichtig, sich der Gründe und Ziele bewusst zu sein. Leider habe ich zu oft erlebt, wie die glänzenden, neuen Technologien die eigentlichen Ziele des Unternehmens in Vergessenheit geraten lassen und zum Selbstzweck werden.

Article

Datenarchitekturen – nicht nur für Microservices

Warum die Behandlung von Daten so wichtig ist

Article

Tooling für JavaScript-Frontends

Nahezu jede Webanwendung besitzt einen Anteil an JavaScript im Frontend. Im Vergleich zu früher haben sich jedoch viele Dinge geändert. So sind heute zahlreiche Tools üblich, die den Entwickler unterstützen. Dieser Artikel gibt einen Überblick über aktuell genutzte Entwicklungswerkzeuge für die Entwicklung von JavaScript-Frontends.