Blog

Blog Post

Functional Service in Scala

Functional programming helps programmers to reason about their codebase using referential transparency and side-effect control principles. Let’s push the limit and make pure-functional REST service using IO Monad from Cats-Effect project. First, we will do that using Akka-HTTP library and standard Scala Future as effect type. Afterwards, we will switch to abstract effect F to have a choice, when it comes to run our embedded program.

Blog Post

Cooking with Onions: Inward-Pointing Arrows

The onion architecture is an established approach to structuring applications.

Blog Post

Report Generator in Rust

Blog Post

Domain Events vs. Event Sourcing

Why domain events and event sourcing should not be mixed up.

Blog Post

Handling German Text with torchtext

There is a growing list of tools that are ready to be used with non-English texts. We show common ways to integrate them in torchtext and use their language-specific options.

Blog Post

Declarative Data Transformations

Validating and Transforming Inconsistently Structured Data

Blog Post

Testing is storytelling

Tests do not only exist to verify the absence of known bugs. They’re also documenting the expected behaviour of a system. Moreover, they’re showing developers how to use code.

Blog Post

Continuous Integration Contradicts Features Branches!

Features branches are a popular approach to separating the development of different features - but unfortunately this contradicts continuous integration’s goal of continuously integrating all changes. So what to do?

Blog Post

Do We Worship Complexity?

Why Sometimes We Don’t Avoid Complexity.

Blog Post

Building a Load Test with Tsung for a Login and Post Session with dynamic url-encoded variables

If you want to test your website, app or API endpoint by simulating how it will perform when hundreds or more users visit it, you are probably writing a load test. This blogpost covers a step-by-step instruction on how to build a load test for a Ruby on Rails app with a login and post session and dynamic variables with Tsung, a distributed load testing tool.

Blog Post

The Problem With Agility

Over twenty years ago, iterative-incremental development processes were already used. They are a forerunner of agile processes that have been around for more than fifteen years. Although agility has existed for quite some time, agile transformation is still an issue today. Often the transformation just doesn’t work. Why?

Blog Post

No-Principles Software Architecture

Think for Yourself!

Blog Post

Code Redundancy or Reuse?

Reuse used to be the holy grail of software development. If developers reuse code, they don’t have to write it again. This should increase productivity significantly. In the meantime, however, some things have changed - and even redundant code has advantages. So avoiding redundancy is also just another trade-off.

Blog Post

Server-sent events in .NET with Akka

Server-sent events are an often undervalued technology when sending events is needed. For many languages, there are ready-to-use libraries available. There was practically no library in .NET that supports ASP.NET Core.

Blog Post

Blockchain Mining: Embarrassingly Parallel?

Blog Post

Blockchain Mining with Rust

Recently, at one of our yearly hands-on events, we took on the challenge of implementing our own blockchain. One of the core challenges of this is the mining of new blocks. In this blog post, I want to show two different approaches we tried out for this task, using the Rust programming language.

Blog Post

Understanding decomposed

I think we can all agree that having our codebases more readable and understandable would make our lives much easier. In this post, I’m trying to point out at least a few ideas that influence understanding.

Blog Post

Technical Debt Just Happens

…But You Will Have to Deal With It!

Blog Post

Microservices? Or Rather Monoliths?

Microservices are a hype. Now, critics suggest to return to monoliths. But does that really help?

Blog Post

A Playground for Testing OpenID Connect

This post describes how you can set up a development environment in order to play around with your OpenID client implementation. When running your application in a cluster, it can be difficult to test how it will behave behind a load balancer. One factor that can be particularly difficult to test is when you are communicating with an OAuth 2.0 or OpenID Connect server which expects that a request will be redirected back to the same application instance that it came from.

Blog Post

Native Clojure with GraalVM

Blog Post

Spring-less testing

Spring is a great project, it helps a lot with common, usually mundane, tasks. But it’s not always unicorns and rainbows. Too much Spring in tests can cause a few issues like long execution time and fragility. Here, I’m showing how to avoid such pitfalls.

Blog Post

dprox – Declarative Reverse Proxy

Reverse proxies don’t have to be a pain when it comes to local development.

Blog Post

Secure Kubernetes Cluster

Why, even with Docker and Kubernetes, there is still work to be done on security issues

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.