Blog

Blog Post

Containers for tests and local development with Spring Boot 3.1

Spring Boot 3.1.0, the most recent minor release of Spring Boot 3, appeared in May. In this article, we will be taking a look at how the new support for Testcontainers and Docker Compose can help us with tests and local development.

Blog Post

Testing in Spring Boot applications

In addition to production code, we typically also write tests to discover and correct possible errors as early as possible in the development process. For new functionality, it isn’t even uncommon to write more test code than production code. At the same time, the tests should be as fast as possible, so they can be executed frequently without causing long delays. In this article, we explore how this can be done in applications based on Spring Boot.

Blog Post

How to bootstrap a tech conference with a 100% women+ speaker lineup

A look back to the Women+ in Data and AI Summer Festival as we plan ahead for 2024

Blog Post

No future-proof architectures!

Architecture: The term itself radiates stability. It seems clear, then, that good architecture should be future-proof. But precisely this goal often leads to problems. Does that mean it is better not to design future-proof architectures?

Blog Post

Is Platform Engineering the new DevOps?

When companies transition to the cloud, they anticipate an improved developer workflow, shorter release cycles, and more robust end-to-end team responsibility. However, even after the admin team delivers the new platform with all its capabilities, software teams may hesitate to adopt it and assume responsibility. But why? Is it not every developer’s desire to control the process from committing code to deploying it to production? One possible explanation is a lack of emphasis on the developer experience during platform conceptualization. This article aims to identify common issues and explore whether platform engineering can help to address them.

Blog Post

Concise Documentation – Revisited

The Architecture Communication Canvas

Blog Post

Remote Mob Programming

The entire team is sitting in an online meeting and developing software together. One person types the code while the others discuss. Sound strange? That is remote mob programming, an exciting style of work for distributed teams. Read on to learn what it’s all about and which advantages and disadvantages you can expect.

Blog Post

What is a Data Product?

A data product is a logical unit that contains all components to process domain data and provide data sets via output ports for analytical use.

Blog Post

Improve your CSP with Style Nonces in Angular 16

Enabling stricter content security policies in your SPA

Blog Post

A natural language calculator

In my prior post I’ve written about how to run a chat with a large-language-model on your PC. This time I want to focus on scripting this with Node.js and letting the AI- and the “normal”-world interact with each other.

Blog Post

Accessibility on the Web Part 2

Not just the structure and technology of a web application can be designed for superior accessibility, so can its content. An example demonstrates how this is done.

Blog Post

How we cut our website’s carbon emissions in half

Decarbonising innoq.com

Blog Post

Does BI Software Make Sense for Development Teams?

Time is a valuable asset, and it is easily consumed by the analysis and preparation of data. In other words, there may be good reason to come to grips with BI software.

Blog Post

Accessibility on the Web Part 1

Creating accessible web applications is possible with only a small amount of additional effort and native HTML elements. This can be demonstrated by an example application.

Blog Post

Build an internal development platform

Blog Post

AI Tools in Business Environments

Currently, the importance of AI tools is growing at a breathtaking pace and has also gained importance in the general public. More and more companies and organizations are relying on the advantages of artificial intelligence to improve their processes, increase their productivity, or better serve their customers. AI tools are able to reliably analyze data, recognize patterns, and make predictions that can already surpass human abilities in some areas. This makes them a valuable tool for optimizing business processes and developing innovative products and services. It’s no wonder that the demand for AI tools has exponentially increased in recent years and will continue to grow.

Blog Post

Evolving software like an orchardist

Software systems are usually larger, overgrown structures that developers need to bring back into shape after some time. However, creating an overview of the sprawling conglomerate of software components is challenging, let alone developing a clear plan for moving on. This blog post uses analogies from pruning apple trees to show developers how to evolve their software systems using a value-based approach.

Blog Post

Drawers for Product Owners

One role, different meanings

Blog Post

Running an AI Chatbot on Your Own PC

Llama.cpp, gpt4all and others make it very easy to try out large language models. Here’s a short guide to trying them out under Linux or macOS.

Blog Post

Why Your Team Needs Data Products

Have you ever had the feeling that you or your team spends too much time on individual data research tasks or makes too many decisions based on your gut? Then it might be time for your team to start engaging with data products.

Blog Post

Draw The Diff

Blog Post

Babylon as a Feature

The Tower of Babylon is a myth meant to explain why the world’s peoples speak different languages. In modern IT systems, it’s often a requirement to support multiple languages. Such internationalization (i18n for short) is a tough challenge – and this post describes a simple solution to just the tiny part of multilingual documents. Our solution combines the simplicity of the plain-text format AsciiDoc with a simple yet versatile build script to support multiple languages (like EN and DE) and multiple output formats (like PDF and HTML).

Blog Post

Assessing the Sustainability Impact of Startups

As a startup, caring about sustainability should be a priority for several reasons. Firstly, a sustainable product can differentiate your business from competitors and attract environmentally conscious customers and investors. There are various international standards that you can look into when assessing your business’s sustainability, but there is also a European one.

Blog Post

An Introduction to TLA+ and Its Use in Parties

You’ll get your pizza eventually

Blog Post

Property-based Testing with “fast-check”

It isn’t exactly news that developers have to write not only code but also tests. Nevertheless, many find this to be burdensome and monotonous work. Plus, it is far from guaranteed that unit tests actually cover all the border and non-border cases. A modern approach is property-based testing, which consists of specifying an abstract condition that is then automatically checked by the test framework.