Functional Programming by Example: Refactoring a TypeScript/SolidJS Application | Part 1

Have you ever looked at a piece of code and thought:

I think this works, but I can‘t quite convince myself it‘s correct?

The logic is relatively straightforward.
But the state is distributed across a handful of variables that could be combined in ways that don‘t make sense.
And as soon as you start working on it, you find yourself mentally tracing through every code path to make sure none of the illegal variable combinations can happen.

Whenever this happens, one thing is part of the problem: The model of the domain was only ever implicitly there, in the head of the programmer, and not written down in code.

In this series, I want to show you how to formulate those models in code, in TypeScript, so that the code gets easier to understand for everyone not currently writing the code (colleagues, but also future you!). We‘re going to take a small but realistic application and refactor it from a hidden-model style to an explicit-model style.

Read on...

The program für BOB 2026 on March 13 is up!

The program for BOB 2026, Active Group‘s in-house conference, is set: On Friday, March 13, 2026, BOB - appropriately the thirteenth edition - will take place — as last year at the Scandic Hotel Potsdamer Platz.

We are proud of the program, although we had to reject many other great submissions to create it.

The opening keynote at BOB will be delivered by Stefan Kaufmann (stk) — it‘s about Digital Sovereignty.

As usual, there are four tracks — two tracks with a total of 16 talks, two tracks with a total of 8 tutorials.

Registration is open — the early-bird discount runs until January 16, 2026.

Read on...

On the Testability of Pure Functions

While working on the paper „Evolution of Functional UI Paradigms“, published at the FUNARCH workshop of ICFP 2025, I had a thought about pure functions that I would like to briefly explain here. As an argument in favor of pure functions, functional programmers often cite better testability: pure functions require no complicated test setup or mocks, are deterministic, parallelizable, etc. In tendency, this is certainly correct. Pure functions are often better suited for testing than their impure counterparts. However, this connection is not a neccessary implication in either direction: There are pure functions that are hard to test, and there are impure functions that are easy to test. Thus purity itself cannot be the substance that ensures a piece of program is properly testable. But then what is this substance?

Read on...

The Call for BOB 2026 is out!

On March 13, 2026, BOB, Active Group‘s conference about the best in software development, will take place — once again in Berlin and once again at the Scandic Berlin Potsdamer Platz.

The Call for Contributions is open. Send us your proposal for a talk or tutorial (by November 17, 2025) — the program committee is looking forward to it!

Read on...

Spring Boot with Scala

The Spring Framework and especially Spring Boot, are very popular and widely used for programming applications in Java. For Scala, there are other popular frameworks, particularly for programming web servers, such as the Play Framework.

In this small series of articles, we want to explore whether and to what extent we can program functionally in Scala while still using Spring Boot.

Read on...