Blog & Artikel

Artikel

Java 10 – Evolution statt Revolution

Gerade erst ist Java 9 erschienen, da steht auch schon das nächste Release, Java 10, an. Dieser Artikel betrachtet die Neuerungen von Java 10 und wagt einen kurzen Blick in die Zukunft.

Blog-Post

Taking Screenshots of DOM Elements

Now that PhantomJS is dead, we need an alternative. Turns out that Puppeteer, Google’s official remote-control API for Chrome, is just the ticket.

Blog-Post

Mundane Bash Tips

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!

Frequent leaks of large user databases highlight how important it is to enforce strong passwords. Let’s discuss what makes a strong password and why it is a good idea to additionally check it against a dictionary.

Blog-Post

Service Mesh und Kubernetes

Warum eine dezidierte Infrastruktur wie Istio notwendig ist

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

Inzwischen gibt es bei den meisten Cloudanbietern die Möglichkeit kleine Codeteile als sogenannte Functions zu hinterlegen. Da kein expliziter Server existiert, dort spart das Kosten. Aber auch sonst bieten Functions eine interessante Abstraktion, deren Vorteile man ebenso gerne innerhalb eines Kubernetes Clusters nutzen möchte.

Blog-Post

DDD mit Onion Architecture

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

Übliche «Proof of existence» - Konzepte nutzen die Blockchain von Kryptowährungen. Das geht auch einfacher und billiger.

Blog-Post

Formatting with first-class types

Stringly-typed APIs under strict supervision.

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.

Artikel

Health-Checks in Java-Anwendungen

Die Gesundheit immer im Blick

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

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.

Artikel

Kluge Kontrakte auf Basis von Ethereum

Achten Sie auf das Kleingedruckte

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.