Blog & Artikel

Blog-Post

Mundane Bash Tips

Various tips and patterns for writing shell scripts.

Blog-Post

Have YOU been pwned?

With the V2 release of the „pwned passwords” database came a new feature called range search, which allows to securely check passwords with only minor efforts. Here’s how to use it.

Blog-Post

Enforce strong passwords!

Blog-Post

Service Mesh und Kubernetes

Zum Betreiben einer Website stellt Kubernetes einige wichtige Ressourcen, wie Service (round robin load balancer), Ingress (Proxy als API Gateway) und Pod (logischer Host) zur Verfügung. Dennoch sind sie nur eine Grundlage. Für komplexere, über Jahre laufende Webportale, ist mehr erforderlich als das. Service Meshes liefern, was den Kubernetes Bordmitteln fehlt.

Blog-Post

It All Looks the Same to Me

In the previous post, pHash helped us to summarize our photo album. Now it’s time to employ BK-trees and efficiently search through the metric space of perceptual hashes. Let’s roll up the sleeves; more Rust awaits!

Blog-Post

FaaS und Kubernetes

Blog-Post

DDD mit Onion Architecture

3 Gründe, weshalb Onion Architecture für die Umsetzung von Bounded Contexts nach Domain-driven Design besonders geeignet ist.

Blog-Post

The language of maths is not the language of your business

Abstractions from category theory can be powerful. But there are reasons why you may want to keep your domain model free of them.

Blog-Post

Proof of Existence via HTTPS

Blog-Post

Formatting with first-class types

Programming with stringly-typed APIs is like walking a tightrope; it’s good to have some support in case something goes wrong. Languages with first-class types offer us impressive tooling to guarantee correctness of our code. In this post, we’ll see how Idris helps us bullet-proof a printf function.

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

Artikel

Health-Checks in Java-Anwendungen

Health-Checks sind für den Betrieb von Anwendungen heute, insbesondere wenn sie als Container in einem Cluster deployt werden, unerlässlich. Dieser Artikel zeigt, wieso Health-Checks so wichtig sind, welche Details beachtet werden sollten und wie Health-Checks in Java mit drei gängigen Bibliotheken umgesetzt werden können.

Artikel

Medienkunst schafft neue Perspektiven

Je weiter technologische Entwicklungen voranschreiten, desto mehr nutzen wir digitale Innovationen, um unser Leben zu gestalten. Dabei spielen Codes und Algorithmen eine entscheidende Rolle, wie wir Informationen nutzen und wahrnehmen. Medienkünstler bleiben davon nicht unberührt. Sie beziehen mit ihren digitalen Kunstwerken Stellung zu vielen Fragen, die unsere Gesellschaft beschäftigen. Medienkunst zeigt neue Perspektiven, erinnert aber auch an die Verantwortung, die Technologieunternehmen und Softwareentwickler hierbei tragen.

Artikel

Evolution statt Verschlimmbesserung

Mit aim42 Architekturen systematisch verbessern

Blog-Post

Logging mit Docker und Elasticsearch

Wenn eine Anwendung als Microservices oder Self-contained Systems in Docker-Containern läuft, stellt sich die Frage, wie auf die Log-Einträge der Anwendung zugegriffen wird. Die Antwort lautet in der Regel: „Elasticsearch”. Aber wie kommen die Logs in 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

Blog-Post

Fehlerbehandlung in Shellskripten.

Ein Skripte läuft erfolgreich durch? Gut. So soll es sein. Ein Skript schlägt sauber fehl? Damit kann man leben. Schlimm ist ein Skript, das nur vorgibt, alles wäre in Ordnung…

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?

Artikel

Kluge Kontrakte auf Basis von Ethereum

Ethereum ist ein Blockchain-basiertes, offenes System, das im Gegensatz zu Bitcoin die Idee von „Smart Contracts“ als zentrales Thema hat. Damit können beliebige Geschäftsmodell durch eine Form automatischer Agenten abgebildet werden, die auf Transaktionen reagieren und deren Code für jeden einsehbar ist. Die Regeln, die man normalerweise in juristischen Verträgen abbildet, werden damit zu ausführbaren Programmen – und die Akteure, die sich an diese Regeln halten, durch „autonome Organisationen“ ersetzt. In diesem Artikel stellen wir die Technik hinter Ethereum kurz vor und zeigen die Möglichkeiten an einem einfachem Beispiel auf.

Artikel

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.

Artikel

Jepsen – verteilte Systeme testen

Den Problemen in verteilten Datenbanken auf der Spur

Blog-Post

What’s in a Name: Evaluate

The term evaluation is often used in the context of system and architecture reviews. In my opinion, this term is often misleading and such activities should be named differently.