GitLab security scanning – part 3: Kubernetes deployments
05/16/22
In part 1 and part 2, we focused on different types of security scanning practices. In this article we will... Read more
05/16/22
In part 1 and part 2, we focused on different types of security scanning practices. In this article we will... Read more
05/10/22
TLDR: How to reduce the known CVEs (common vulnerabilities and exposures) to zero by creating your own Keycloak distribution*. Introduction... Read more
05/06/22
Introduction This article will give an introduction to Kotlin DSLs (Domain-Specific Languages) and teach you how to create and generate... Read more
04/29/22
In my previous blog posts I gave an intro to Tekton and showed how to configure and integrate it. This... Read more
04/19/22
… Containers … applications … licenses … In part 1 of the article series, we focused on static scanning of... Read more
03/31/22
Start using DMN decision models in your MuleSoft flow editor instead of the choice node to reduce complexity. Read more
03/14/22
Secure.Your.Code! …At all stages…Automatically…Always…Starting with the first line of your code… Today, the security scanning of code, containers and applications... Read more
03/04/22
This article is part of a series that deals with Tekton CI/CD and its practical use. In the first article we... Read more
02/24/22
Docker containers and services for them are part of our toolboxes since 2013. Functions as a Service (e.g. Lambda) with managed services are the new kids on the block. How do they compare? Read more
02/23/22
Almost six months have passed since my introductory post about AsyncAPI, which is already an eternity in our fast-moving IT... Read more
02/14/22
I have been working as a data scientist at codecentric for several years now. Thus, my language of choice is... Read more
02/11/22
In the first article we mastered the Tekton installation, got to know the first API objects and created a first... Read more
02/02/22
BigQuery can help with building an ML system for production with a short time to market. Follow industry standards. Agile... Read more
02/01/22
The quality or usefulness of machine learning models can be evaluated using test data and metrics. However, to what extent?... Read more
01/27/22
Deploying an API into the various stages of a software development pipeline involves not only the aspect of writing (designing)... Read more
01/19/22
In this article I want to give an overview of Tekton with the goal of explaining the basics and getting... Read more
01/12/22
A recurring task in product management is writing user stories. In agile product development, a user story describes requirements for... Read more
01/06/22
In our projects we rely on documentation, even if many people still assume that because of the Agile Manifesto documentation... Read more
12/24/21
Last year my former colleague Kevin told me about the Ultimate Hacking Keyboard. It’s a mechanical keyboard which is split in... Read more
12/23/21
As part of the Keycloak.X efforts, the underlying platform is to be changed from Wildfly/Undertow to Quarkus/Vertx. Read more
12/22/21
Welcome back to my article on migrating a Spring Boot application to Java 17 – the hard way. On day... Read more
12/14/21
Java 17 has recently been released, and I’m excited for the many improvements and new features. Instead of starting from... Read more
11/15/21
We use python's machine learning ecosystem , to train a reinforcement learning model directly on Java classes. Read more
11/12/21
In recent years Jest has established itself as the go-to testing framework for JavaScript and TypeScript development. It provides a... Read more
10/25/21
You may have heard about all the benefits of Cloud Native Buildpacks?! But Paketo's pack CLI depends on Docker. So what about our Kubernetes-based CI systems, where we might not have a Docker daemon a Read more
10/05/21
Software developers and other digital workers write and edit a lot of text in their job. It's worth to take a look at how we can increase our efficiency in working with text, code and IDEs. Read more
10/04/21
The last few years have seen a huge proliferation of interfaces for C# classes. These interfaces are very useful for... Read more
09/27/21
AsyncAPI for event- and message-driven architectures is modeled on OpenAPI, but it is more agnostic regarding possible protocols. Read more
09/03/21
A performant and well integrated CI/CD environment is one of the key factors for fast and agile software development. To achieve short feedback-cycles and increase development speed, jobs need to be a Read more
08/10/21
How to choose the best container base image? What does “best” mean in this context? This blog post will not... Read more
08/06/21
In several posts, I’ve touched on the API first paradigm. I would now like to review the basic statements of... Read more
07/15/21
In this blog post, we want to show why agile transformations fail, illustrating various situations that unfortunately still occur far... Read more
07/02/21
Lately, Site Reliability Engineering (SRE) has been getting a lot of attention. With SRE came metrics such as Service-Level Objective... Read more
06/25/21
Software teams are learning to appreciate the advantages of Serverless. In the cloud some new structuring laws apply. Learn about them in order to get your benefit from Serverless today. Read more
06/15/21
Accelerate API design with the introduction of API governance, a method of applying common rules related to standards of APIs. Read more
06/09/21
This blog post introduces a base image for Single Page Applications. Read more
06/08/21
This blog post will show you how to use one central OAuth2 Proxy as authentication proxy for multiple services inside your Kubernetes Cluster. Read more
06/07/21
How do you measure your progress towards DevSecOps? Is there some sort of maturity model or a required skill set for everyone involved? Read more
06/02/21
When you are developing React apps, you have heard about Create React App, Next.js, Gatsby and others. Those frameworks make... Read more
05/31/21
Welcome to Axon Framework 102, where we will be deep diving into many interesting challenges you will encounter when working... Read more
05/11/21
Low-code platforms like Atlassian Jira provide fast and low-cost modern technologies to support your internal processes from an end-to-end POV. Read more
05/11/21
Welcome to Axon Framework 102, where we will be deep diving into many interesting challenges you will encounter when working... Read more
04/22/21
In a workshop, EventStorming the interaction between participants is important. Remote this can be harder to achieve. We discuss how we tackled the challenges, and how the workshop was perceived. Read more
04/19/21
This article presents a new collaborative filtering technique. The universal recommender can be run as “engine” of ActionML's Harness. Read more
03/30/21
When customer requests and requirements get out of hand, businesses need to rethink holistically. Read more
03/25/21
In this blog post, I will demonstrate how you can deploy an application to AWS Fargate using the AWS CDK.... Read more
03/23/21
A story time is a daily 10-minute timebox after the daily standup that is used to refine exactly one backlog item. Read more
03/15/21
Reviewing the waves of CI/CD platforms the article shows the benefits of the Pipeline-as-Code Building Blocks pattern based on GitHub Actions. Read more
03/04/21
Full guide showing every step necessary to publish a Docker container image to the GitHub Container Registry with GitHub Actions. Read more
03/03/21
A different flavour of IIoT. Dynamic, declarative systems with short retooling times prove to be great for an automated growth of plants. Read more
03/02/21
Even technically excellent teams can slip into quality problems if the working conditions or the project goal are unclear. In this article we explain why this is the case and what we can do about it. Read more
02/22/21
A full guide on how to build and publish projects to GitHub Packages, get coverage reports with Codecov, release to Maven Central & GitHub. Read more
02/15/21
Rust has held the top spot as the most popular programming language in Stackoverflow's annual developer survey for five years in a row. Reasons for this I show in this introduction to Rust. Read more
02/12/21
Having a code versioned according to SemVer standards can simplify everyone’s life. This post shows you how to automate package publishing using some helpful tools and best practices. Read more
01/28/21
In my German Softwerker article (Vol. 14, p. 90), I already dealt with the continuous design and development cycle of... Read more
01/25/21
This article takes a detailed look at ReScript – but also sheds light on the limitations of the young language. In what projects does its use make sense? What projects should rather use TypeScript? Read more
01/07/21
Recap In the first part of this blog post, we have integrated motivations and best practices for using collaboration tools... Read more
01/06/21
“Knowledge-worker productivity is the biggest of the 21st century management challenges.” – Realized by Peter Drucker as early as 1999,... Read more
12/14/20
See how to fine-tune a pre-trained BERT transformer on a custom NER task, beating standard bi-LSTM thanks to more learning transfer! Read more
11/30/20
Why Cloud Native Buildpacks with Paketo reduce the need to write Dockerfiles and how to integrate them with Spring Boot layered jars. Read more
11/17/20
In this blog post I take a look at two examples of what can go wrong in monitoring. This is about the how of monitoring your services. Read more
11/16/20
Showing how to elegantly integrate Spring Boot apps with Kong API Gateway using OpenAPI and Declarative Configuration. Read more
11/13/20
We build, train and evaluate a bidirectional LSTM-network for named entity recognition to extract information from legal texts with Keras. Read more
11/11/20
In this overview article on industrial IoT product development we will guide you along the essential questions and directions to... Read more
11/06/20
We show how to extract information from legal texts, training spaCy's named entity recognition model for our task on the command line. Read more
10/22/20
Is your HR struggling with having a proper solution to manage all their processes? Are current tools insufficient, costly or complicated? Read more
10/19/20
With the increasing popularity of battery electric vehicles, privately-owned electric vehicle charger infrastructure has become more common. Read more
10/12/20
In this article of our dish-o-tron series, we train vision models and continue building an AI system to prevent dirty dishes. Read more
10/05/20
Let’s face it: Every company’s IT infrastructure can and will be the target of hacking. It is not a question of if it will happen, it is a question of when and how. Read more
10/02/20
Cypress is a young testing framework for web-based UIs in JavaScript. In comparison to older tools like Selenium, it promises some important improvements which we'll have a look at. Read more
09/25/20
This is the second article in our dish-o-tron series in which we tackle one of the biggest problems in community kitchens: coming across someone else's dirty dishes. Read more
09/21/20
The last post in our series on Reedelk was about implementing an ETL process that can be triggered by a... Read more
09/17/20
For quite some time now, the topic “API as a Product” has been appearing in various media. But what does... Read more
09/11/20
It is time to and finally apply AI in a meaningful way. Enter the dish-o-tron, an AI system designed to solve a real-world problem. Read more
09/10/20
Rust for Java developers – A step-by-step introduction The Java ecosystem is vast and can solve almost any problem you... Read more
09/09/20
C# 8 will ship soon with .Net Core 5, and one of the most exciting features is Source Generators. These... Read more
09/04/20
The integration of data from systems of record or legacy systems is one of the elements of a software development project that does not start on a greenfield. Read more
08/25/20
This blog post tries to define cynicism and will show different points of view on cynicism and burnout in information technology. Read more
08/24/20
In this blog post, we want to give you an insight into the product development of tactics.ai. Our initial idea... Read more
08/06/20
This article will compare the underlying principles of Kubernetes Deployment tools, the push and pull approach. Read more
07/31/20
In this second part of our series on DDD and Hexagonal Architecture, we migrate from the monolith to microservices. Read more
07/29/20
Hexagonal Architecture is a key design pattern to use with Domain Driven Design. Explore its origin and benefits, as well as five implementations. Read more
07/23/20
Explore how to use k8s ephemeral containers to debug problems with Network Policies. Read more
07/22/20
“Works on my machine.” Okay, but we know quite well software never behaves the same when running on different machines… We... Read more
07/17/20
Currently, there are especially two end-to-end testing frameworks which are interesting for React Native developers: Detox and Appium. During my... Read more
07/14/20
A short write-up on how to replace the infrastructure mocks with code based dependency mocks in the frontend part of a Jamstack project. Read more
07/13/20
In this final post, a few guidelines are laid down to increase your company's chances of a successful omni-channel communication adoption. Read more
07/07/20
NuGet Packages are a critical part of any .Net Core project. This article offers guidance on setting up a working NuGet workflow on GitHub. Read more
07/03/20
Learn how to set up AWS IoT Core, send protocol buffers messages via MQTT and process them with AWS Lambda. Read more
06/18/20
The new spring-graalvm-native 0.7.1 & GraalVM 20.1.0 releases are full of optimizations! The configuration of the native-image command has become... Read more
06/16/20
Enabling omni-channel communication is certainly very attractive and a MUST in 2020. But what are the common complications? Read more
06/15/20
In this blog article I will introduce Insomnia Designer, which is an interesting extension of Insomnia Core. Read more
06/08/20
The previous blog posts about Kong from last year were about the API Gateway, which is provided as an open... Read more
06/05/20
Omni-channel communication is not some fancy futuristic capability anymore. But what are the hurdles? And how to get there? Read more
06/04/20
There are batch jobs that require much engineering and fine-tuning on serious hardware to make them feasible. However, many batch jobs run on oversized infrastructure. Read more
06/02/20
Comprehensive guide on how to build Spring Boot GraalVM Native Images with Docker & TravisCI and run them on cloud platforms like Heroku. Read more
05/28/20
While doing AI is sexy and cool, data infrastructure is not considered any of this, even though machine learning applications rely on it. Read more
05/26/20
PayPal integration with React Native using Smart Payment Buttons. Complete payment flow with diagram explaining interaction between services. Read more
05/25/20
What are legitimate expectations of a modern project management solution? What are current technological options to address them? Read more
05/19/20
Why feature flags and how can you implement an Angular feature flag directive to conditionally render your components? Read more
05/18/20
Effectively managing complex projects is a problem many companies face. With low-code, customizable solutions (e.g. Jira), they can overcome past hurdles. Read more
05/13/20
Microservice architectures are complex to manufacture? I show in this blog that it is possible to create a complete application as a scaffold in 30 minutes. Read more
05/07/20
All those Micronaut, Quarkus.io & Co. frameworks sound great! But Spring is the undisputed forerunner in Enterprise Java. Read more
05/01/20
Using persisted queries can help you to improve the performance and security of your applications. Learn how you can use this approach with every GraphQL service. Read more
04/28/20
Team-oriented development (TOD) is a term we coined to describe flexible development within a team. With techniques like pair, ensemble, and parallel programming. Read more
04/22/20
Golang, a.k.a. Go, has been around in the industry for quite some time now, but people are still reluctant to just go ahead and use it. To help you get started, follow me on this journey. Read more
04/21/20
By using a representative test set and various metrics, machine learning models can be evaluated and compared. Read more
04/17/20
Contact tracing is a tool to fight the ongoing Coronavirus. Let's take a closer look at how Apple and Google want to tackle contact tracing. Read more
04/16/20
Read this blog post on embedded development of PLCs and how to choose the fitting IoT hardware for the job. Read more
04/15/20
Facilitating workshops that are completely remote pose a new kind of challenge. There are some things I have learned in... Read more
04/07/20
Kofax Transformation Modules (KTM) offers several tools for document classification and data extraction. There are some older blog articles about... Read more
04/06/20
The coronavirus is thrusting society towards digitalisation. Expect many changes to remain long after the crisis has gone. Read more
04/02/20
In this article we implement a generic approach to prepare formalized knowledge for a shared understanding by extracting the information contained in arbitrary PDF data sheets. Read more
04/01/20
Automating physical regression testing of products with computer vision and robotics Testing a physical product can be a highly manual... Read more
04/01/20
Today we’re going to learn how to hack our way into the DevOops machine at hackthebox. If you want to... Read more
03/30/20
Pair programming is not limited to coding. Pairing at the whiteboard can be more effective than paring at the keyboard. Read more
03/26/20
At current (quaran)times, with all our staff in remote working environments, it’s fairly hard for us infosec people to get... Read more
03/25/20
The motivation for this part of our blog article series on VR was the dramatic situation of the Corona pandemic AKA COVID-19. Read more
03/24/20
Recently I introduced the Insomnia REST client in another blogpost (Sorry, this has been german only!). As mentioned there, this... Read more
03/23/20
This blog post is something we had on our to-do list for such a long time that it feels like... Read more
03/17/20
When working remotely, there is no physical whiteboard. How about an online whiteboard and an iPad with pencil? Read more
03/16/20
Read about steps after you have successfully found out who your product's users are. Get ready for an incremental delivery. You know emotional trigger points and you have defined a user test group. Read more
03/12/20
In order to develop software effectively, it’s critical to understand and apply YAGNI. But what does this acronym stand for? Read more
03/11/20
If you want to catch up with earlier episodes of this blog article series, here is a link collection: 1.... Read more
03/10/20
This is the third of four parts which deal with shifting your own and the team's mindset to fully understand your user. Read more about how to bring the user's perspective more into the product. Read more
03/09/20
If failure is truly embraced on a cultural and organizational level, the organization will fail controllably, insightfully, and cost-effectively all the way to success. Read more
03/06/20
Finding performance issues in a GraphQL application with Instana Read more
03/05/20
Is your product a “vitamin” or a “painkiller”? This blog is about answering the question whether it is possible and advisable to categorize your product... Read more
03/03/20
This is a little blog post about addressing the understanding of user needs. Only companies that have understood who their users are will be able to develop solutions FOR them. Read more
02/27/20
A simple hint how to use Spies in the right way without getting stuck in concrete. Leverage the Mockito mocking library for writing refactorable tests and avoid the dark side of the testing coin. Read more
02/26/20
If you want to catch up with earlier episodes of this blog article series, here is a link collection: 1.... Read more
02/25/20
Svelte offers a smart store implementation to manage state in a web application. Read more
02/24/20
Introduction In the previous posts we learned that the Pact workflow requires you to exchange contracts and verification results between... Read more
02/18/20
Compared to the past few years, the JavaScript world has become relatively quiet lately. Especially in the frontend React, Angular,... Read more
02/17/20
Machine learning models don't care if an input dataset is correct, thus validating datasets beforehand is strongly advised. Read more
02/14/20
Mob programming is a technique we use extensively for sharing knowledge in the team, improving developer skills and increasing team cohesion. Read more
02/12/20
Why is integrating collaboration tools into Virtual Reality important? During our experiments and interviews with potential customers, we have heard... Read more
02/03/20
The Redux toolkit supports the development with Redux. It helps reduce boilerplate code and can simplify the usage of Redux. Read more
01/30/20
Peek inside the Kafka Protocol using Wireshark. Read more
01/29/20
Why testing hypotheses about VR meetings? 2 weeks back, our innovation team was in the middle of a “innovation project... Read more
01/27/20
In this article, we show how you can build a custom remote training set up for your machine learning models. We aim for automation and team collaboration. Read more
01/21/20
The passion process is often seen as pure, noble, and transformative. But, a phoenix which doesn't rise from the ashes is just ashes. Read more
01/20/20
In this article I want to share with you how moto hooks into boto3 and how you can use it... Read more
01/17/20
Seven ways of handling image and machine learning data with AWS SageMaker and S3 If you start using AWS machine... Read more
01/15/20
Previously… Today, I am going to share our insights about entry barriers for VR virtual interaction rooms. I want to... Read more
01/10/20
Application specific problems, e.g. a missing field in a client request, have to be handled properly with machine readable and... Read more
01/09/20
Blockchains like Hyperledgstore data indefinitely and so the overall amount only increases. This lead to tons of unnecessary GBs of storage. Read more
01/07/20
An overview on Kubernetes, Pulumi, Istio and everything related to containers - review of ContainerConf 2019 in Mannheim, Germany. Read more
01/01/20
In this episode of the blog series "VR virtual interaction room", I would like to share some experiences which are not software-related. Read more
12/31/19
Read about our lessons learned from a successful project. In which process, culture, technology stack all worked together. Read more
12/23/19
The event store is at the heart of any event sourced application. It contains every event that occurred in the... Read more
12/21/19
Observability is an important quality attribute. The Micrometer CloudWatch Registry exports meter values as CloudWatch metrics. Read more
12/20/19
Concurrency typically comes with conflicts. How can we deal with conflicting concurrent writes? How can OT and CRDTs help? Read more
12/19/19
In the previous blog post I added decK and Konga to the existing demo setup. Now I want to make... Read more
12/18/19
Previously… While part 1, part 2 and part 3 were covering more generic thoughts, I want to share a concrete... Read more
12/17/19
Since the last post, a new version (1.4) of the Kong API Gateway has been released. The biggest change is the /status route. Read more
12/13/19
Convolutional neural networks are a powerful type of models for image classification. Handwritten digit recognition is the "hello world" of image classification. Read more
12/09/19
In early October 2019, we attended the mtpcon in London to see where we as codecentric Digitization Labs stand when... Read more
12/06/19
Computer architecture, e.g. the CPU cache utilization, can influence the runtime of your implementation in orders of magnitude. Read more
12/04/19
Previously… In part 1 and part 2 of this blog article series, I have covered problem / solution statement value... Read more
12/04/19
We build an example application to demonstrate the use of the Firebase database. Read more
11/29/19
Microbenchmarks are a useful tool to compare the relative performance of different implementations. ScalaMeter is a microbenchmarking and regression testing framework for Scala. Read more
11/28/19
AWS CDK Part 6: Lessons learned. CDK with TypeScript is a joy! APIs are not stable. CDK has a nice developer experience. Read more
11/27/19
This article outlines a lean setup for a CI/CD setup to multiple Kubernetes clusters, using GitLab CI with the GitLab Docker Registry and the Kustomize customization engine. Read more
11/26/19
AWS CDK Part 5: AWS Step functions, coordinate your Lambdas using state machines and create advanced workflows. Read more
11/20/19
Previously… In the last episode of this article series, I briefly touched ground on the motivation, value proposition and possible... Read more
11/18/19
Introduction In the previous blog post we introduced contract testing with Pact as an alternative to end-to-end tests when developing... Read more
11/13/19
The European Union has 24 official languages. If you are targeting the European market with a mobile application, you need to offer the app’s content in different languages, i.e. localize the app. Read more
11/12/19
If traditional leadership is a top-down approach, emergent leadership is a bottom-up approach. It's about maximizing a team's performance. Read more
11/08/19
In this blog post we explain how you can build your own face detection application without much machine learning knowledge.... Read more
11/07/19
AWS CDK Part 4: AWS CDK Lambda. Respond to S3 events with Lambda's in and outside a VPC. Read more
11/06/19
Recap In Part 2 of this blog series we described how to create S3 Buckets and a gateway into our... Read more
11/05/19
For distributed teams and enterprises, a VR Interaction Room is an opportunity to create a joint space that reduces travel cost. Read more
10/22/19
In this article we propose a simple yet expressive theory that allows us to model sustainability and develop effective control mechanisms for sustainable software development. Read more
10/17/19
When I was building Java-based web applications we had some handy tools like Flyway and Liquibase for database schema migration.... Read more
10/15/19
An interview with the EventStorming creator on Domain-Driven Design and the invention of the concept of EventStorming. Read more
10/14/19
DDD is seeing a renaissance, recently, so old discussions have to be reevaluated. Separating data from behavior in Domain Models may be called 'anemic', but it has its pros and cons. Read more
10/09/19
In this blog post, will focus on creating an AWS S3 bucket and a connection into our previously created VPC. Read more
10/08/19
Industrial IoT (IIoT) as a buzzword gained traction within recent years. However, implementing common use cases like real-time monitoring of... Read more
10/04/19
Consumer-driven contract testing is an alternative to end-to-end tests. In this blog post we want to take a look at the basics of consumer-driven contract testing with Pact. Read more
10/02/19
(DDD) is an approach to software development for complex scenarios: scenarios where we cannot get to the right implementation at first attempt. Read more
10/01/19
Introduction Photogrammetry, in short, is the process of extracting 3D data from 2D photo source imagery. It usually starts with... Read more
10/01/19
IoT is broadening its place in the industry. We can see many industry level devices available on the market. New... Read more
09/27/19
This blog post series provides a summary of a paper which discusses machine learning solutions for climate change. Read more
09/26/19
By loading the video, you agree to YouTube's privacy policy.Learn more Load video Always unblock YouTube On 10th... Read more
09/25/19
By loading the video, you agree to YouTube's privacy policy.Learn more Load video Always unblock YouTube On 10th... Read more
09/24/19
By loading the video, you agree to YouTube's privacy policy.Learn more Load video Always unblock YouTube On 10th... Read more
09/23/19
By loading the video, you agree to YouTube's privacy policy.Learn more Load video Always unblock YouTube On 10th... Read more
09/20/19
This blog post series provides a summary of a paper which discusses machine learning solutions to tackle climate change. Read more
09/19/19
Everything is a web application nowadays. We’re moving everything to the cloud. The ecosystem for web libraries and frameworks is... Read more
09/17/19
This first part of 6 consecutive blog posts on AWS CDK will guide you through the setup process of a custom VPC including subnets and security groups with AWS CDK and TypeScript. Read more
09/17/19
CDK, Terraform, or Serverless Framework? An evaluation of these tools for application in AWS serverless projects. Read more
09/16/19
A service worker is essentially a script running in a separate thread of the browser. It can be used to offload... Read more
09/12/19
In this article I will take you on a tour from our initial naive Lambda setup to an improvement and explain what went wrong. Read more
09/09/19
Having worked with Google Cloud Platform’s Big Data Services for almost a year, I wanted to have a broader view on GCP’s capabilities. Read more
09/06/19
Once a model has been trained, it can be evaluated in different ways and with more or less complex and meaningful procedures and machine learning metrics. Read more
09/04/19
Almost two years have passed since the last blog post on this topic by Alexander Melnyk. Read more
09/02/19
Lambda development should be a great experience. By automating infrastructure (Terraform), testing and using high quality code, it will be! Read more
08/28/19
In recent years, the number of frameworks for deep learning has exploded. Companies such as Google, Facebook and Amazon have... Read more
08/27/19
This post is a follow-up to 'A walkthrough of DVC' that deals with managing dependencies between Machine Learning pipelines. Read more
08/21/19
A lot of posts about document classification and data extraction with Kofax have been published in the codecentric blog. Here's a summary. Read more
08/20/19
In machine learning, we are training a model for a particular task, e.g. distinguishing dogs and cats in pictures. Inference... Read more
08/19/19
If you don't know Heroku already, you'll get to love it soon! But wait – do you run Spring Boot apps based on JDK 11+? Do you build them with Maven 3.5.x? Maybe you should use Docker on Heroku. Read more
08/12/19
How does the Lambda SQS integration work exactly? How do the different configuration parameters impact the behaviour of your integration? Read more
08/09/19
You are using the Serverless framework on AWS? Did you know that you can develop on your local machine as well with little effort? Read more
08/07/19
In recent years, lots of new programming paradigms have emerged – going from monolithic architectures towards microservices and now serverless... Read more
08/06/19
In this blog post, I want to share my aha moments with you I had during the development of my... Read more
07/31/19
The Serverless framework defines a meta language on top of the Infrastructure as Code (IaC) services of many Cloud Service... Read more
07/29/19
An important part of mobile applications is animations. Good animations first of all need to have a purpose. Then, they... Read more
07/19/19
N-gram extraction can boost the performance of your text processing model. Add it as a frozen layer and leave everything else untouched! Read more
07/17/19
Hibernate caching: Is Hibernate's First-Level-Cache limited to a decent transaction? Intuitively my answer was: No. Read more
07/16/19
In this post I will discuss building a simple recommender system for a movie database which will suggest top movies and predict user votes. Read more
07/12/19
Introduction At the WWDC in June 2019, Apple introduced – among other products, OSes and libraries – a new cross-platform... Read more
07/11/19
Getting test data correct for acceptance or E2E test data is difficult. Business applications are scattered with date based triggers and validations. Let's fix this. Read more
07/09/19
In Kotlin, scope functions allow you to execute a function, i.e. a block of code, in the context of an object. Read more
07/08/19
This blog post explains how to solve the problem of document rotation with a small Kofax Transformation Modules (KTM) script. Read more
07/01/19
Solution Factory is a user-centric, fast, and reliable approach towards experimenting with new ideas and developing ground-breaking, innovative solutions. Read more
06/26/19
In this article, I want to briefly introduce you to Kubernetes Operators and show you a way to create your own operators out of existing Helm Charts with low effort. Read more
06/25/19
Resilient software should tolerate faults, but also failures. Retry, fallback, timeout, and circuit breaker are popular resilience design patterns. Read more
06/24/19
In this article we will see benefits that API-led connectivity approach brings in the process of composing our business platform. Read more
06/21/19
Although everyone has an intuitive way of understanding what AI means, the term is somehow difficult to grasp in its whole complexity. Read more
06/18/19
This article will cover some common design patterns applied to Angular them and extend the view about Angular components. Read more
06/13/19
We discuss the theory and our experiences, failures and lessons learned from adopting test-driven development in practice. Read more
06/07/19
Automated database migrations are an important building block of agile software development. How can we perform migrations and test them? Read more
06/04/19
Since its open source launch in 2013, Docker has become one of the most popular pieces of technology out there. But why is it so popular? Read more
06/03/19
Passwords are (one of) the biggest pain(s) in today’s IT security. They are a factor of life, and the modern... Read more
05/31/19
The series' second article is showing hands-on recipes for web security, rate limiting, feature toggles & proper handling of configuration in Express.js & Node.js web apps written in TypeScript. Read more
05/27/19
Feature toggles can be implemented as a microservice in your architecture for added benefits by using Unleash Read more
05/22/19
Acquiring data from other sources can be done by scraping web pages or through various web API services. For this purpose, we can create crawlers, scrapers, or even use Robotic Process Automation. Read more
05/21/19
Cognitive biases can be viewed as bugs in our thinking. In this post we take a look at 10 cognitive biases to look out for as a developer. Read more
05/17/19
Kubernetes does not have its own user management and relies on external providers like Keycloak. This blog post will describe how to configure Kubernetes to use Keycloak as an authentication provider. Read more
05/15/19
Moving your application to the AWS Cloud is a challenge. I will show you how to assemble a cloud hosted... Read more
05/13/19
Express.js, Node.js, Webpack & TypeScript is a great stack for web development. This article shows cooking recipes building up a boilerplate project for you to build successful projects yourself. Read more
05/11/19
Integrate a GitHub monorepo with the AWS CodePipeline and CodeBuild. We describe the challenges you might have. Even better, we also share our solution as Infrastructure as Code. Read more
05/07/19
In this article, I describe the idea behind the retrievability metric which can be used to measure bias in search results. Read more
04/24/19
The wonderful world of serverless development brings us many gifts for a relatively low price, but as with everything there are also downsides. Read more
04/23/19
After 16 months of incubation, the Apache PLC4X project is now an official top-level project of the Apache Software Foundation. Read more
04/15/19
Serverless computing promises to provide easily scalable applications and provide a straightforward programming model that allows developers to focus on... Read more
04/05/19
Ten years ago there was a major shift in the field of network application development. In 2009 Ryan Dahl invented Node.js. Read more
04/01/19
In this blog post series, we will showcase some of the new features in Traefik 2.0, highlight changes and see what the future may look like. Read more
03/29/19
A performant sunlight estimation technique relying solely on Google ARCore and simple calculations. Read more
03/28/19
Sometimes you just need a simple database and also the ability to have a really simple way to edit the data in a quick and straightforward way. This is where Google Sheets offers a great solution! Read more
03/27/19
How to use heuristic algorithms to solve complicated optimization problems: Can you win the stacking challenge? Read more
03/26/19
In this blog post, you'll learn how to configure your Spring Boot app to use SSO via SAML with Keycloak. Read more
03/25/19
This second part will be about enhancing the framework built in part 1 to easily write acceptance tests for an Alexa Skill in Cucumber.js. Read more
03/19/19
Join me as I go back to the drawing board and think about approaches to plan an ML pipeline that fits your organization’s needs. We'll look at goals, technical approaches and an example architecture. Read more
03/18/19
In this blog article we will learn how to do behaviour-driven development (BDD) of an Alexa Skill utilizing the Cucumber.js framework. Read more
03/14/19
Flutter is now out of the beta phase. But what is it exactly? What does it promise? And most importantly, should you learn it? Read more
03/13/19
How to systematially organize Machine Learning model development? Meet DVC (data version control), which supports you with this task. Read more
03/11/19
Hands-on convolutional neural networks with Keras and TensorFlow for damage detection in Predictive Maintenance. Read more
03/06/19
Learn how to Docker-ize your Angular app by configuring it through the environment variables in a runtime through this step-by-step guide. Read more
03/05/19
In this article I will show you how to write tests in just a few lines of code, using the library hikaku, that ensure that the specification and implementation of a REST-API don't diverge. Read more
02/28/19
If you want to build something quick or just hack around a bit, then ParcelJS and Spring Boot might be a good fit for you. Read more
02/27/19
Feature toggles are not a good fit for everything. But if managed correctly, they can be a very powerful tool. Read more
02/26/19
It is not so rare that we as developers land in a project where the customer uses SFTP (SSH File Transfer Protocol) for exchanging data with their partners. Read more
02/25/19
Retrospectives can become tedious and boring. Use a value stream retrospective to perform a structured evaluation of your team's software development process. Read more
02/22/19
The Robot Framework is a test framework to automate acceptance tests. Docker is a well-known and widely used container solution. Read more
02/15/19
Methods for time series forecasting have become more and more powerful in recent decades, ranging form simple linear models to complex machine learning algorithms. Read more
02/14/19
In software development, huge numbers of passwords need to be shared. How they are shared is critical for security as leaked secrets are targets for hackers. Gopass is a simple team password manager. Read more
02/13/19
Vert.x is an event-driven application framework. Coroutines are a nice way to compose asynchronous computations. How do these two work together and what does the Vert.x Kotlin Coroutines package do? Read more
02/12/19
Congratulations on your decision to use the JAMstack in your project! This post will help you get started with JAMstack deployment. Read more
02/11/19
How do quality attributes influence functional requirements? How to identify the quality attributes that are relevant for the stakeholders and your team? Read more
02/08/19
Use dependency injection as a lightweight approach to automated testing of JavaScript AWS Lambda applications in isolation from external components. Read more
02/08/19
Learn about my conference on: DDD in software, event storming, DDD ontological models, Conway's law, and antifragile architecture. Read more
02/05/19
I’ve noticed developers worry about web application vulnerabilities. I also think most of them try to do their best to prevent any problems. Read more
02/01/19
Benchmark the cold start and mean response times on AWS Lambda using Scala and Java with Gatling and serverless framework. Read more
01/30/19
In the beginning of January I had the opportunity to attend a very special conference for the second time: Code Freeze. Read more
01/28/19
Spring Boot Admin is a popular tool for monitoring and managing Spring Boot-based applications. Learn how to secure it with Keycloak. Read more
01/23/19
Micronaut is a modern JVM-based microservices framework. I will introduce it to you and show a small hello world example. Read more
01/17/19
The problem we want to solve Let’s start with a definition of user experience according to Wikipedia: User experience (UX)... Read more
01/15/19
By implementing Test-driven development and Continuous Integration for infrastructure code with Ansible and Molecule, we've done a huge step towards the right direction. Read more
12/17/18
ctop is a command line tool that lets you easily monitor and manage your Docker containers. I will show you the most important features. Read more
12/11/18
The benefits of Test-driven development (TDD) for infrastructure code are undeniable. But we shouldn´t settle there! What about executing these tests automatically and on a regular schedule? Read more
12/06/18
How to make a React application container aware of Kubernetes environment variables at runtime through a dynamically rewritten config.js file Read more
12/04/18
So you´re doing Infrastructure-as-Code? Sure. But have you ever heard of Test-Driven Development? It´s that dev team thing, right? Hell no! It should be equally important to infrastructure coding! Read more
11/30/18
Compensating API outages using event-sourcing and statistics Read more
11/29/18
Umi is the basic frontend framework of Ant Financial, and has served 600+ applications directly or indirectly. Read more
11/28/18
This is the third and final part of the Android testing blog post series and today we’ll talk about the... Read more
11/27/18
This blog post will describe how to enable docker-machine to properly talk to the keystone v3 API in a Gitlab CI infrastructure. Read more
11/19/18
A review of Alexandra Deschamps-Sonsino's 2018 book "Smarter Homes – How Technology Will Change Your Home Life." Read more
11/12/18
With this series, we would like to give you an understanding of different machine and deep learning approaches, illustrated by... Read more
11/06/18
We were using the combination of Espresso and UIAutomator to do the E2E testing on Android. Syntax and the readability had to be improved so we unified the syntax with Kotlin DSL. Check it out. Read more
10/29/18
A few of my key takeways after trying out Flutter for a few weeks. My task was to build a simple prototype app for iOS and Android. Read more
10/29/18
In my previous article, “Hyperledger Fabric test network on AWS using Ansible”, I introduced a simple way to provision VM... Read more
10/26/18
Certainly, component-based frameworks will continue dominate the market in 2018. However, an alternative has been emerging on the horizon for some time now: Web Components. Read more
10/25/18
For a project I needed to parse data that is being delivered through email. Luckily I came across the Nearly Parser. Read more
10/24/18
Functions as a Service products like AWS Lambda provide a great deal of convenience compared to bare metal, virtual machines, and also containerized deployments. Read more
10/23/18
In this article, we implement a HOG detector (Histogram of Oriented Gradients) based on the dlib C++ library. Read more
10/18/18
Introduction What happens if you put together entrepreneurial spirit, a great idea, customers willing to be early adopters, as well... Read more
10/17/18
In this interview with codecentric CTO Uwe Friedrichsen, Michael Nygard shares his views on Microservices and when to adopt them. Read more
10/16/18
In this article series, we show different machine and deep learning approaches on the use case of detecting diesel cars as well as environmental zone badges and type labels on the cars. Read more
10/15/18
The aim of Predictive Maintenance (PrM) is to timely identify anomalies, and indicate a safe interval of time to perform the necessary repair. Read more
10/12/18
Introduction to Stream Analytics Why should we talk about stream analytics? In the past decades data analytics was dominated by... Read more
10/02/18
It’s been a year since I’ve joined the team in charge of Android automation testing solution on project for one... Read more
10/01/18
Robots pattern enables you to write concise UI tests that are easy to read and maintain. In this post we put the robots pattern into practice by writing UI tests for a sample app.
09/28/18
JUnit 5 gives us some opportunities to better structure unit tests, and I'll show you some techniques here. Read more
09/27/18
In this post we are going to use a combination of Yarn, Yarn workspaces, Gulp, and Terraform to manage a... Read more
09/21/18
Let’s suppose you need to stream data from an external source, but that data source does not support push natively,... Read more
09/20/18
This post shows some useful functions from the Kotlin standard library and how to write your own functions for cleaner and better code. Read more
09/19/18
How to enable the Spring Boot 'Run Dashboard' in IntelliJ IDEA 2018.2 in case you skipped the auto-configuration? Following this simple step, you can ease your work with Spring Boot and IntelliJ IDEA. Read more
09/17/18
An example and step-by-step guide on how to make bidirectional communication between the Finder Sync Extension and the Main app. Read more
08/31/18
If you'd like to be able to return to a known working state of specific objects and projects rather than your whole OpenShift cluster, you may find this approach to project backups useful. Read more
08/29/18
The second part of this post analyzes the problem space that is solved by the Internet of Things and provides an outlook on potential future developments in this area. Read more
08/22/18
The Internet of Things - just another hype or a topic of prevailing importance? This post examines the concepts underlying this matter and tries to put it into context with other ongoing developments. Read more
08/21/18
This blogpost is a story about the reasons why I ended up securing my API using the X.509 client certificate, in addition to a step-by-step guide on how to implement this yourself. Read more
08/16/18
In a recent blog post, Benjamin Wilms gave an introduction to “Chaos Engineering“. But how to apply potential Chaos Engineering... Read more
08/13/18
A flexible development environment is an important base for CD, demonstrations and integration against Fabric networks or Composer applications. We create these with Ansible on an EC2 instance. Read more
08/10/18
In this post we want combine an AWS API Gateway deployment with a Terraform custom provider resource for an EAM tool called LeanIX. Read more
07/31/18
What is NODE ACL and why should you use it? Well, if you are looking for a flexible and elegant... Read more
07/30/18
In this blog post we want to combine Terraform with an automated build pipeline on Travis CI. We will utilize the AWS S3 remote state backend with encryption, versioning, and locking. Read more
07/26/18
We use OpenStack-Ansible to set up our OpenStack cluster and Ceph's Rados Gateway (radosgw) as object store backend. Read more
07/18/18
The first version of the Gatling extension Gatling JDBC has been released. Read about the why and how of it. Read more
07/16/18
To solve our performance problems with Gnocchi and the whole OpenStack telemetry stack, we tried Gnocchi with Ceph as backend... Read more
07/05/18
In this article I give you a simple and descriptive introduction to the world of Chaos Engineering. As a neat side-effect, you will meet all your colleagues, if you do it wrong! Read more
06/29/18
Java Batch is still a hot topic in enterprise environments these days, but how do you do it the right... Read more
06/24/18
The Kotlin language gets more and more attention. One area it excels in is in writing custom DSLs. In this post I show how to write your own DSL for example to work with Apache Kafka. Read more
06/15/18
How to deploy a Lambda function without breaking the existing live Alexa Skill? This tutorial explains how to use aliases and versions to solve the problem. Read more
06/11/18
React Context API is a feature used for sharing global state and passing it all the way down through the components tree. Read more
06/08/18
Using UserDefaults to save states locally in iOS applications causes problems when writing tests using XCUITesting Framework. This blog post shows how to solve these problems. Read more
05/29/18
Tired of Jenkins? Always keeping an eye on all those new kids on the block with their super cool and simple CI Pipeline files? Here´s a guide on how to fire up a fully functional GitLab CI/CD pipeline Read more
05/25/18
Often daily business in companies starts with a fresh compliance audit. Everything seems to be measured, documented, regulated. It's secure. But is this a sufficient security strategy? Read more
05/22/18
In this post I'll show you how to use a Google Cloud Function to access the machine learning API for natural language processing. Cloud functions are one of the serverless features of the GCP. Read more
05/14/18
An agile mindset is more import than following some process framework. This article introduces the agile mindset and gives advice on how to induce your environment to adapt a more agile mindset. Read more
05/08/18
We run a lot of automated tests on our OpenShift clusters, but they fail to account for a number of important test cases. This post proposes low-effort and low-cost ways of bridging the gap. Read more
05/07/18
In this article I'd like to give you a short introduction to a subset of Google's machine learning capabilities: the natural language API. Read more
04/27/18
Hello world real estate advertisements! A simple application written in Python using the Serverless framework to implement a real-world scenario. Read more
04/26/18
Agile Methoden sind in der Software-Entwicklung entstanden und gereift. Inzwischen breiten sie sich weit über diesen Bereich hinaus in andere Geschäftsfelder aus. Read more
04/24/18
It´s time to shed some light on the integration of Vue.js with the popular Java Enterprise framework Spring Boot! Both frameworks are shining stars in their domain – but how do they work together? Read more
04/23/18
In this tutorial you will get an understanding of how the AWS Lambda authorizer works and how you can pass information from it to an Amazon API Gateway. Read more
04/18/18
In the first two parts of this blog series, I introduced JBake and discussed the integration of PlantUML. In this... Read more
04/17/18
Hyperledger Fabric and Composer can be used together to develop any kind of private blockchain applications for business. Fabric provides nodes for the platform level, Composer brings the nice API. Read more
04/12/18
Imagine you implement a mobile app that needs to access AWS resources like an S3 bucket. For that purpose, AWS provides the Security Token Service. Read more
04/10/18
You just started with Android development and deployed the app to the emulator or device. Now what the h... is Zygote? Read more
04/09/18
This tutorial shows you how to develop a RESTful microservice running on the Google Cloud Platform. Read more
04/01/18
Leverage product discovery to create better products and provide a robust synopsis for high level overviews. Grow the holistic world view of disruptive innovation via killing projects as a service Read more
03/28/18
A cross-functional team distributed over 4 cities in 2 countries delivered a high-quality product on a tight schedule. Crucial factors were effective collaboration and modern product delivery methods Read more
03/21/18
Hyperledger is a project for open source blockchain approaches of the Linux Foundation. It contains projects like Fabric, Sawtooth, Iroha, Burrow and some tools. But how do they differ? Read more
03/16/18
Mocking frameworks are powerful tools for testing and test driven development (TDD) in particular. What are the rules to write good tests with mock objects? Read more
03/14/18
This blog post describes how matrix factorization can be applied to the problem of ad targeting. It draws from my experience of developing a machine-learning-based solution for this task. Read more
03/12/18
In this article we will show you how to work with AWS IoT. You will learn how to connect an... Read more
03/07/18
In this post we will extend the JBake scenario described in the first post by adding PlantUML. Read more
03/05/18
In this tutorial you will learn how to use Google's Cloud Launcher to set up instances for a MongoDB replica set in the Google Compute Engine. Read more
03/02/18
You don’t need to write any code for pushing data into Kafka, instead just choose your connector and start the job with your necessary configurations. And it’s absolutely Open Source! Read more
02/23/18
In software development, one question that constantly arises is how the current project can be comprehensively documented. The most common... Read more
02/15/18
Although the use of mock objects is controversial, we as developers have to use them from time to time. The nearly 6000 stars Mockito has on GitHub indicate that others would agree with this statement Read more
02/14/18
Drone is a Continuous Delivery system built on container technology and written in Go. In this article, I show how to set up a Drone build server, running on an AWS EC2 instance. Read more
02/13/18
This tutorial shows how to set up a deployment of Spring Boot applications for the Google AppEngine Flex environment. Read more
02/12/18
Functional lenses or simply lenses are functions that point to a specific part of the data structure. Lenses help us... Read more
02/08/18
An example on integration of Microsoft Visual Studio Team Services, Protractor and Sauce Labs to provide a quality assurance solution. Read more
02/06/18
How does Big Data Analysis work? To find that out, I participated in the workshop on "Deep Learning with Keras and TensorFlow". Read more
02/02/18
When a new project is set up in the cloud these days, this usually means that AWS is used, that the backend is split into multiple services (e.g. microservices). Read more
01/30/18
In times of micro services, the zoo of applications can get quite big. Our simple dashboard supports us to keep track of our AWS code pipeline. Read more
01/29/18
It seems that nowadays, the "Don't Repeat Yourself"(DRY) principle is one of the foundations of programming that is criticized the most. Read more
01/23/18
Angular uses RxJS as a backbone of the Angular application. RxJS uses the concept of Observables and Observers, where an Observable is a source of data and Observer is the one who use the data. Read more
01/18/18
In this post we give some examples for implementing smart contracts that allow asset tracking in the blockchain. Read more
01/16/18
With BigchainDB we see one of the first complete but simple blockchain frameworks. The project aims at making blockchain usable for a large number of developers and use cases without requiring special Read more
01/15/18
MongoDB 3.6 introduces an interesting API enhancement called change streams. With change streams you can watch for changes to certain collections by means of the driver API. Read more
01/12/18
This post is about implementing a - quite basic - Neural Network that is able to play the game Tic-Tac-Toe. Read more
01/11/18
Interview with IOTA Co-Founder Dominik Schiener about his start with DLTs, the technology Tangle, the IOTA Foundation and the future. Read more
01/09/18
Because complex machine learning models are essentially black boxes and too complicated to understand, we need to use approximations to get a better understanding of how they work, e.g. with LIME. Read more
01/08/18
Spring Cloud Service Discovery If you are running applications consisting of a lot of microservices depending on each other, you... Read more
01/05/18
In this article you learn how to create a dynamic, RESTful web page without any build or packaging tools using the Vue framework. Read more
01/04/18
Keycloak as an Identity and Access Management (IAM) candidate: an example on how to integrate Keycloak in your acceptance testing suite. Read more
12/19/17
Recently I discovered a library called Testcontainers. This post shows how you can get Infinispan running in a generic container. Read more
12/18/17
Creating a Golden Master for refactoring feels great: If the Golden Master record is detailed enough, nothing can go wrong. Read more
12/14/17
A solution is shown where every app update step (one step per app version) is wrapped in its own class implementing a special AppUpdate protocol. Read more
12/11/17
The previous part of this series showed the beautiful interplay of React and Redux. In this part, we are going to take a look at Electron. Read more
12/07/17
Messages in Apache Kafka are appended to (partitions of) a topic. Topics have a partition count, a replication factor and various other configuration values. What could possibly go wrong? Read more
12/05/17
For anyone interestend in penetration testing, Capture the Flag challenges are a great way to test your skills and learn something new. This is a write-up that guides you through the Quaoar Challenge. Read more
12/03/17
In the last article we introduced you to the core features and concepts of React. We also talked about the... Read more
12/01/17
There is no such thing as THE best SPA framework because your choice should consider the strengths and weaknesses of each of these frameworks. I Read more
11/30/17
On August 9, 2017, the OASIS MQTT Technical Committee announced that MQTT 5.0 was available for public review and comment until September 8th. Read more
11/23/17
Utilising APIs to foster innovation and to create new business opportunities is not a new concept. A lot of success... Read more
11/22/17
Serverside dynamic validation is not only a way to prevent eventual attacks on a system, it also helps ensure data quality. Read more
11/15/17
Kotlin has given us some really killer features. Some are obviously useful, while others come with a warning. One such ‘handle-with-care’ feature is the language support for delegation. Read more
11/13/17
For our Penetration Test Training, we’re going to start out training session with a fairly decent image from vulnhub.com – LazySysAdmin: 1. Read more
11/08/17
Nomad and Consul are a powerful combination for resolving lots of the operational problems that come with the microservices architecture. Read more
11/07/17
A How-To about the implementation of Custom PathMatchers in Akka HTTP. Read more
11/06/17
In this part of our blog series on building an offline desktop app, we will talk about the UI framework ReactJS (aka React) that we chose for the project. Read more
11/02/17
You can interactively explore different analysis techniques for Predictive Maintenance with this flexdashboard. Read more
10/30/17
For a recent project we developed an offline app for laboratory machines. Application Programming Specialists use this software for creating and managing programs that run on the machines. Read more
10/27/17
Our article series “blockcentric” discusses Blockchain technology, projects, organization and business concerns. It contains knowledge and findings from our work... Read more
10/24/17
The range of potential use cases around blockchains is tremendous. In this post, we take a closer look at a blockchain-enabled supply chain platform. Read more
10/23/17
JMH is an OpenJDK project which aims to ease setting up a benchmark environment for Java performance tests. Read more
10/17/17
Welcome to the first article of the blockcentric column. We created it for blogging about Blockchain and all related topics. Read more
10/10/17
Today I want to talk about what is perhaps the most infamous of all: the Golden Hammer. Actually, it’s a collection of hammers that makes up the toolbox from hell. Read more
10/04/17
Convolutional Neural Networks have become the first choice to extract information from visual data. Essentially, they mimic the way a human being recognizes images. Read more
09/29/17
We successfully scaled our Windows Docker containers running on one Docker host. But what if we change our focus and see our distributed application as a whole? Read more
09/28/17
There are plenty of learning resources on software best practices. Sprinkled in between all the well-intended advice are warnings about... Read more
09/26/17
Do you think about headers when you write HTTP controllers? Do you specify it explicitly and in detail? Be honest! Read more
09/25/17
In this blogpost, we look at why blockchain is a good candidate for transforming supply chain IT and why it might gradually change supply chain practices. Read more
09/22/17
The comparison of images (screenshots) is one aspect of acceptance-level testing for web applications. It is especially meaningful for relatively... Read more
09/21/17
Flame graphs are relatively new and take a new angle to show the profiling results of your Java application. Read more
09/20/17
The authentication of RESTful APIs is quite an often asked question, so I decided to demonstrate basic authentication via JWT (JSON Web Token) in an example of an API built with Akka HTTP. Read more
09/18/17
How to enable the Spring Boot 'Run Dashboard' in IntelliJ IDEA 2017.2.1? Following this simple step you can ease your work with Spring Boot and IntelliJ IDEA. Read more
09/15/17
Looking at JUnit tests can be a bit weird at times. Often a lot of preparation work in terms of preparing mock objects and responses is required. Read more
09/13/17
How to mix Java and Kotlin within one Spring Boot Web Application: We will use Kotlin data classes side by side with Lombok backed Java POJOs, for example as value object or Jackson marshalling. Read more
09/11/17
There are things a programmer needs to know, no excuses. There are things you can’t possibly all remember, so it’s... Read more
09/08/17
Test Automation is an inherent part of today’s modern software development. It is the foundation that supports short release cycles... Read more
09/07/17
This blog post shows you how to use the modern, dynamic Traefik reverse proxy to deploy services and web applications. Read more
09/06/17
I am going to show an example of how Data Science techniques can be used to identify fraud in financial transactions. I will offer some insights into the inner workings of fraud analysis. Read more
09/01/17
A DAO is an organization that lives through a smart contract on the Blockchain. It represents an excitingly new kind of organization with interesting possibilities, still it contains some risks. Read more
08/30/17
The European Go Congress (EGC) is by far the largest Go event in Europe. It has been held yearly since 1957, usually in a different country every year. In 2017, the EGC came to Germany once more. Read more
08/25/17
Localization for Spring Security error messages is not configured by default in Spring Boot. This blog post describes how to add localization using MessageSources. Read more
08/23/17
Webpack's watch feature is broken under VirtualBox. The reason is that the inotify events are not supported between shared folders. But I found a solution, to forward the events from the host system. Read more
08/17/17
Large software projects have many vital concerns, such as authentication and authorization. Despite the wealth of available libraries in the... Read more
08/16/17
This is a quick tutorial on how to test code using the GoMock mocking library and the standard library testing package testing. GoMock is... Read more
08/15/17
There are multiple ways to allow a service to be used securely. JSON web tokens is one of them, although... Read more
08/14/17
The Minimum Viable Product (MVP) is often narrowed down to building a software product with few features. But you don't have to write even one line of code to build an MVP. Read more
08/07/17
Convention over configuration does not always work in Spring Boot. This blog post explains how to globally configure parsing of LocalDate query parameters. Read more
08/03/17
We aim to please the customer at short notice and always overestimate our capacity to comprehend a system as it gets more complex. That’s a recipe for technical debt. Read more
07/28/17
Anchor Modeling is an approach that puts agility into your database layer. Use it to boost your ability to respond to change and deal with the temporal nature of your database state. Read more
07/26/17
Looking up and adding additional data to the incoming stream is a common problem in Spark Streaming. In this post I will show four alternative solutions for this problem. Read more
07/25/17
Recently, Matthias Radtke has written a very nice blog post on Topic Modeling of the codecentric Blog Articles, where he... Read more
07/18/17
What’s this Blockchain everyone starts talking about? What can we do with it? Isn’t it just about Bitcoin and currencies? This post explains the basic concepts of Blockchain and how they can be used. Read more
07/17/17
This is not a tutorial about how to exploit the advanced features in modern mocking frameworks. Rather, it’s a warning that these features work around design decisions that were wrong to begin with. Read more
07/13/17
This instruction gives some insights on how to convert an existing Android Java app project to Kotlin. Read more
07/12/17
I hope you enjoyed my first article about Gatling. The second one will go much more into detail and involves... Read more
07/11/17
Custome made software products have one thing in common: they require continuous maintenance over a long period of time. Unfortunately, maintenance is often neglected. Read more
07/09/17
Kofax Total Agility (KTA) is one and probably the leading product in the First Mile™ strategy of Kofax. This strategy... Read more
07/07/17
In addition to fuzzy databases KTM also offers so-called dictionaries for the optimization of recognition. For example these dictionaries can... Read more
07/06/17
Tech is easy when complexity is hidden away. Hiding complexity means some things are either unreachable anymore or at least... Read more
07/03/17
Essentialism – the Disciplined Pursuit of Less by Greg McKeown is a book with an essential message: much of life... Read more
06/27/17
Ansible 2.1 introduced two features that make it possible to add proper debug logging to your playbooks, and also check and troubleshoot them on the fly, while they are executed. Read more
06/23/17
If you are like me and use the Git command-line a lot, you will probably grow your own list of... Read more
06/21/17
Gatling is a Scala-based load testing tool developed by the Gatling Corp. The tool itself is open source and can... Read more
06/16/17
I’ve been looking at Kotlin for a while now and since Spring will support Kotlin as a first class language... Read more
06/07/17
SUMMARY Compared to the great advances in programming languages and tools, the day-to-day practice of how we actually code is... Read more
06/06/17
The topics AI, machine learning and deep learning are on everyone’s lips, and the media regularly publishes articles on them.... Read more
05/30/17
Provision a Docker Windows Container with Ansible? No Problem! But wasn´t Docker meant for more than one Container?! Don´t we... Read more
05/10/17
Atlassian Jira is a great tool to build workflows for every kind of use case whether in Software Development, IT... Read more
04/27/17
Roadmaps are best practice in software product management. This blog post summarizes a discussion we had at codecentric internally about the need of predictability and delivering value. Read more
04/24/17
Kapow Software was acquired by Kofax in 2013 and fits perfectly to Kofax’s First Mile™ strategy. Kofax Kapow provides a... Read more
04/20/17
Event time processing is one of the key features streaming frameworks should support nowadays. This article gives an overview on the event time capabilities of Apache Spark and Apache Flink. Read more
04/11/17
We were hit by sudden I/O hangs on random virtual machines. Any attempt to write to a its data volume would block forever. This post describes the analysis, cause, and remedy of the problem. Read more
04/06/17
This is a crazy world. It´s not only possible to make Ansible provision Windows machines. No! There are Docker Windows... Read more
04/03/17
In this practical, hands-on post I would like to share some of my experience in building REST services wih JSON... Read more
03/27/17
Spark Streaming, Flink, Storm, Kafka Streams, ... The possibilities for stream processing are manifold. Time to bring some light into the dark. Read more
03/20/17
Interactive Queries are a fairly new feature of Apache Kafka Streams that provides programmatic access to the internal state held... Read more
03/13/17
Version 0.10.1 of the streaming platform Apache Kafka introduced a new feature called "Interactive Queries" that makes your streaming application queryable. This article introduces core concepts. Read more
03/10/17
In Akka, an application is made up of actors rather than of plain old of objects. This blog post shows best practices when defining Actor Props. Read more
03/06/17
An integration test verifies the communication paths and interactions between components to detect interface defects. — Martin Fowler In my... Read more
02/27/17
This is the second part of my earlier post about strategies for integration-testing Spring Boot applications that consist of multiple... Read more
02/24/17
This article and the corresponding template-project has been updated on 10th of March 2017 to include support for Geckodriver. This... Read more
02/23/17
In this blog post we are going to discuss ad hoc polymorphism and the Type Class Pattern in Scala in... Read more
02/16/17
Lagom is the new microservices framework from Lightbend (formerly Typesafe, the company behind Scala and Akka). The framework and the... Read more
02/15/17
Version 0.10.0 of the popular distributed streaming platform Apache Kafka saw the introduction of Kafka Streams. In its initial release,... Read more
02/13/17
SUMMARY: Unit tests are a necessary condition to clean code, but today’s convention-over-configuration frameworks like Spring Boot are often used... Read more
01/24/17
Today this will be a “slightly different” blog post than usual. That is because this very post will be an... Read more
01/20/17
This is the second part of our threepart series on Flyway. The first part showing the installation, basic concepts and... Read more
01/19/17
This is going to be a sum-up of the experience gathered on various projects done with the SMACK stack. For... Read more
01/16/17
Many software projects are still using relational databases as an important part of their technology stack. This typically requires the... Read more
01/13/17
The Git repositories in my current project are hosted on Bitbucket Cloud. Any code changes have to go through pull... Read more
01/12/17
SUMMARY: Frameworks that help build the web apps of tomorrow must keep up with all powerful new technology there is... Read more
01/11/17
There are a few libraries for Android, which implement a lot of widely used features and concepts from the well... Read more
01/10/17
gRPC is a modern RPC framework developed by Google focusing on requirements of microservice-oriented systems. Read more
01/04/17
This sounds terrific: Develop cross-platform apps and share code between them. You can read here why this may not be such a good idea after all. Read more
01/03/17
What is a good clustering of the codecentric blog articles? What are dominant topics and how do these change over time? With LDA topic modeling we use machine learning for the analysis of our blog. Read more
01/02/17
There are times you have to use a Windows box to run your Spring Boot app on. For whatever reason - using the same Continuous Integration (CI) tools like we are used to should be non-negotiable! Read more
01/01/17
GitHub built a GraphQL API server. You can write your own, too. This article shows how to write a GraphQL Server for Spotify - Part 1 Read more
12/22/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
12/21/16
Leverage AWS API Gateway and AWS Lambda to integrate systems into your cloud infrastructure. Read more
12/16/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
12/13/16
I’m writing this in Neovim, inside RXVT, in the i3 window manager, on Debian, running on a MacBook Pro (2015... Read more
11/22/16
So in a average IT project something like acceptance test comes up sooner or later. Which is a good thing... Read more
11/18/16
Let’s start this post with a question: Have you worked productively with RCS in any software development project? If the... Read more
11/16/16
Let me be clear: This post is not about building a Docker container for your application – it is about... Read more
11/14/16
A short introduction to notifications Notifications are part of iOS for a long time, but iOS 10 brings us a... Read more
11/11/16
This article is about basic principles for Java JUnit tests. Even though most of the following principles are probably also... Read more
11/11/16
Creating VRRP connected VMs on an OpenStack cloud is a non-trivial task. In this blog post I will walk you through this task. Read more
11/07/16
This text mostly focuses on the local notifications and what we can do in UIViewController in Notification Content Extension. Notifications in iOS 10 got quite a lot of improvements. Read more
10/27/16
One of our insurance customers uses Kofax Capture and Kofax Transformation Modules (KTM) to capture and classify incoming documents (correspondence,... Read more
10/25/16
This year I got the chance to gain some experiences with Atlassian Connect and also Mule/the Anypoint Platform. These two... Read more
10/24/16
In the first part of this blog post, we have successfully built a simple Vapor web server. Now we are... Read more
10/17/16
Combining server-side Swift, and Google’s Protocol Buffers by creating a simple server-client system. In the first part of this blog... Read more
10/14/16
Basically every project is using a database as one of its central components. At least I cannot remember a single... Read more
10/12/16
You haven´t read any of this blog series’ articles yet? Perfectly fine – because the best is yet to come.... Read more
10/11/16
Apache Kafka comes with a lot of security features out of the box (at least since version 0.9). But one... Read more
10/05/16
JIRA is the #1 software development tool for agile teams. Its flexible workflow engine is one of the success factors.... Read more
09/19/16
Don’t worry: I am not going to jump on the “agile is dead and a failure” bandwagon. I do not... Read more
09/13/16
As we saw in the Introduction to Atlassian Connect, add-ons are stand-alone web applications, operated by different vendors. They communicate... Read more
09/01/16
Have you heard of Berlin’s new airport? Landing of the first plane was originally expected for 2007, then for 2010,... Read more
08/28/16
This Sunday, August 28th, the third codecentric go challenge is going to start. The challenge – organized by Prof. Ingo... Read more
08/25/16
Somewhere back in December 2015 Heiko Seeberger visited us for a Scala training. At the end of the last day... Read more
08/19/16
I have been working with the SMACK stack for a while now and it is great fun from a developer’s... Read more
08/01/16
In the world of Internet of things (IoT) you work with a continuous flow of data. For this you have... Read more
07/28/16
The brand new major 2.0 release of Apache Spark was given out two days ago. One of its features is... Read more
07/27/16
Cool! SOAP-Endpoints that are based on Microservice technologies. But how do we find an error inside one of our many... Read more
07/25/16
Initial steps with Webpack can be confusing: Syntax and philosohy are pretty unique, and the documentation is not really beginner-friendly.... Read more
07/21/16
Wouldn't it be awesome if we could animate any property with a UIView animation block?
07/19/16
Developers tend to neglect the importance of states an app can be in. Application states make an important part of... Read more
07/15/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
07/14/16
The Internet of Things a.k.a. the next industrial revolution is the current hype, but what kinds of challenges do we... Read more
07/08/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
07/01/16
A few weeks ago, I published a blog post about how Spring Boot binds configuration values to JavaBeans. Shortly after... Read more
06/29/16
In software development, Atlassian products like JIRA and Confluence are widely used today. But these days such tools are also... Read more
06/23/16
This is the first entry in a series of blog posts about building and validating machine learning pipelines with Apache... Read more
06/22/16
XP is an international conference on agile software development. It takes place in a different country every year. This year... Read more
06/21/16
In the second half I show how you can test your Logstash configuration. However first I want to show why... Read more
06/15/16
What about XML? Can’t we validate our data with XML easily? Just take the XML schema and … erm. What... Read more
06/09/16
With Kofax Capture you can enter document index values in a validation screen or just confirm or changes values which... Read more
06/03/16
I promised to tackle further and more advanced topics relating to the interaction of Spring Boot and Apache CXF in... Read more
05/30/16
This is an evaluation on how the React toolset works as part of a modern web development project and why it is particularly suitable... Read more
05/09/16
It’s not a secret that Java is quite verbose and will require a developer to often write significantly more code... Read more
04/26/16
Shield is the official security plugin for Elasticsearch. Since version 2.0 it supports custom realms which offer the possibility to... Read more
04/21/16
The SMACK stack is all the rage these days. Instead of just talking about it, this post is going to... Read more
04/17/16
Apache Spark is a system for cluster computing and part of the increasingly popular SMACK stack. The aim of this... Read more
04/15/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
04/11/16
Anyone out there remembering the Ada programming language? In this blog post, I’m going to give you a short introduction... Read more
04/08/16
Writing about Agile feels a bit like shoveling water from a strainer to the ocean … with a spoon. But... Read more
04/07/16
It is quite easy to assign external configuration values to variables in Spring. The @Value annotation has been available in... Read more
04/06/16
In this post, we will look at Elixir’s Agent abstraction, which provides a way to manage state in an Actor-based,... Read more
04/05/16
Lately I’ve been much into event driven architectures because I believe it’s the best approach for microservices, allowing for much... Read more
04/04/16
SUMMARY: Kotlin is a new JVM language fully interoperable with Java bytecode. It is clearly inspired by Scala, but has... Read more
04/01/16
In this post I’m hoping to give you a good insight in how to setup Swagger for Akka HTTP. Swagger... Read more
03/31/16
Ever thought about getting involved in an open source community? The Apache Software Foundation (ASF) is one of the places... Read more
03/29/16
Source-to-Image (S2I) is part of the OpenShift tool chain. It is built on Docker and abstracts how applications are built... Read more
03/23/16
Spring Boot is a framework which helps to get applications up and running as quickly as possible. OpenShift is a... Read more
03/21/16
Elm Friday: Union Types In the last episode we took a look at some of the type constructs Elm provides,... Read more
03/18/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
03/14/16
Summary We generally don’t optimize expensive operations in code until they create a bottleneck. In some of these cases you... Read more
03/04/16
Von diesem Artikel ist auch eine deutschsprachige Version verfügbar. There was this nasty thought coming to my mind when starting... Read more
02/26/16
This is a follow-up to my earlier post about mutation testing (MT). To recap: MT helps you ensure that your... Read more
02/25/16
Titan comes with several possibilities to configure the storage (BerkleyDb, Cassandra, Hbase) and the underlying search engine (Lucene, Solr, Elastic).... Read more
02/24/16
Scala allows the special keyword lazy in front of val in order to change the val to one that is... Read more
02/23/16
Erik Petzold, Sebastian Nemak and Raimar Falke. We all know the getXxx() and setXxx() methods in languages like Java. They appear in almost... Read more
02/19/16
Within the last two years many companies had to ask their customers to sign the SEPA Direct Debit Mandates. It... Read more
02/18/16
Even though it looks as though REST killed every SOAP service on the planet, in 2016 there are still costumers who... Read more
02/15/16
The Scala collections, which are part of the standard library, are known for their vast amount of high-level functional operations... Read more
02/08/16
The setup of an elasticsearch cluster can differ strongly depending on its scenario. In order to quickly deliver visible, individually... Read more
02/05/16
Inspired by a recent conversation with my former colleague Brendan McAdams and my current coworker Markus Hauck, I decided to... Read more
01/29/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
01/25/16
You can’t do without automated (unit) tests if you want to stay on top of the ever increasing complexity of... Read more
01/20/16
A study shows that the cause for almost all critical faults is bad error handling. I can back this up with... Read more
01/19/16
React.js is a JavaScript library which is getting increasing attention at conferences, on social media and not least among codecentric... Read more
01/18/16
Some excellent blog posts have already been written about Java 9 – Jigsaw, not the least by my colleague Florian... Read more
01/16/16
We have already touched the topic of Elm’s type system briefly (for example in post VI about type annotations) but... Read more
01/15/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
01/14/16
This is the third post in the “Machinery behind Machine Learning” series and after all the “academic” discussions it is... Read more
01/13/16
The Elixir MVC Framework Phoenix Marcel Wolf, Markus Krogemann Abstract This blog post will show how a functional web application can be... Read more
01/12/16
I love IoT, but I really hate talks in which all the great concepts are explained and finally when you... Read more
01/11/16
In a previous part of this series about Akka we introduced the core abstraction provided by Akka: actors. Now we... Read more
01/08/16
Robot Framework Tutorial 2016 Part 1: Installation Part 2: Keywords Part 3: Implementing Keywords in Java Part 4: Selenium2Library as... Read more
01/05/16
TLDR; Writing readable tests is at least as important as writing readable production code. But the standard JUnit tooling won’t... Read more
01/04/16
A while back, I wrote about how to deploy a Spring Boot application to Heroku. Since I have automatic deployment... Read more
12/18/15
Nearly all modules you’ll write in Elm need to import other modules to do their work; also, all our examples... Read more
12/14/15
MicroPlode – A Microservices Experiment Part I: MicroPlode – A Microservices Experiment Part II: MicroPlode – Implementing the first Microservice... Read more
12/10/15
Lately there has been tremendous amount of tools and technologies for JavaScript projects. For each aspect of the project configuration,... Read more
12/08/15
In this short post I want to take a look at monads from a pragmatic perspective, i.e. why and how... Read more
12/07/15
Version 3.2 of the NoSQL database MongoDB introduces two new interesting features (amongst others) that I’d like to explore in... Read more
12/04/15
Lists are one of the core data structures in Elm. Elm supports lists on the syntactical level and the List... Read more
12/03/15
It’s been a few years now since Spring introduced the Spring Batch framework, a powerful framework for developing batch processing... Read more
12/02/15
For the really impatient ones: Here’s the code. I am not getting tired talking about the importance of load testing,... Read more
12/01/15
This is part 2 of a series that aims to get you started with project Jigsaw. In part 1, we... Read more
11/30/15
Ok, some confession first: This is a rather spontaneous blog post … story points … it is somehow funny how... Read more
11/30/15
Content Context: Where am I here and why is it so dark :-)? Getting started: Setting up a new project... Read more
11/27/15
One of Elm’s most important characteristics is its static type system. This enables Elm to make much stronger guarantees during... Read more
11/25/15
There is always a reason for making software. Let’s rephrase that: there should always be a reason, at least from... Read more
11/24/15
Eight years after its inception, Project Jigsaw – the modularization of the Java platform and introduction of a general module... Read more
11/20/15
Elm is a functional language, so naturally, functions and function calls are pretty important. We have already seen some functions... Read more
11/19/15
There are libraries and frameworks that belong to the daily tools of a Java developer, e.g. your preferred testing framework... Read more
11/18/15
Tired of writing hundreds of unit tests manually? Write properties and let the test cases be generated automatically! We introduce... Read more
11/17/15
There has been some fuss about a security vulnerability in the well known Apache Commons Collections library. It was initially... Read more
11/17/15
In this post I explain my changes to the ambassador pattern I implemented during a microservices project earlier this year.... Read more
11/13/15
About This Series This is the fourth post in a series of short and sweet blog posts about Elm. The... Read more
11/13/15
About This Series This is the third post in a series of short and sweet blog posts about Elm. The... Read more
11/13/15
About This Series This is the second post in a series of short and sweet blog posts about Elm. The... Read more
11/13/15
About This Series This is the very first post in a series of short and sweet blog posts about Elm.... Read more
11/13/15
This is the table of contents for a series of short blog posts about Elm. This blog post has no... Read more
11/10/15
How are Docker containers being used today in software delivery pipelines, and what lessons have been learned on using containers... Read more
11/06/15
Content The Idea: What the heck does the term MicroPlode mean and what is this all about? The Architecture: A... Read more
11/02/15
I believe we are well past the point of discussing whether an app should have tests or not, so I... Read more
10/14/15
Re-use is the holy grail of IT: whenever a new architectural paradigm comes to IT town, “re-use” is one of... Read more
10/12/15
In 2015, the concepts and advantages of Continuous Integration (CI) should be well known to most software developers. There are plenty... Read more
10/08/15
Spring Boot is the talk of the town when it comes to microservice architectures. But implementing a service is just... Read more
10/05/15
This is a short story how the Jenkins Job DSL made our and the customers life a whole lot easier.... Read more
10/02/15
This Saturday, October 3rd, marks the start of the second installment of the codecentric go challenge. The challenge – organized... Read more
09/29/15
Introduction Have you ever been in situation that you developed an awesome JavaFX application but it is taking too long... Read more
09/25/15
Software development evolves at a rapid pace. Continuous delivery is the new black. With software being created and delivered faster... Read more
09/25/15
In my current project we have to use a code generator (crazy enough, I know). This code generator is a... Read more
09/16/15
Hello world, please meet Gareth. He can be seriously unpleasant. Trust me, we know. But he is becoming more and... Read more
09/04/15
Ok, I really really tried hard to avoid any exaggerations in the title of this blog post and I strongly... Read more
08/31/15
The terms “object-functional” and “object-functional programming” are heard time and again in the context of software development. But what does... Read more
08/24/15
It’s a funny thing to say that delivering business value is the most important thing when developing software. It doesn’t... Read more
08/20/15
One of my hobbies is photography. I took my first steps as a small boy with the camera my father... Read more
08/17/15
In the first part of this series we gave you a high-level overview of Akka – now we are going... Read more
08/04/15
The first hacker garden Stuttgart took place on the 23rd of July 2015. One of the hacks was a DIY... Read more
07/27/15
The amazing Akka project was started by Jonas Bonér in 2009 with the aim to bring the actor model, which... Read more
07/24/15
We are using Liquibase now for almost one year in one of our current projects and it really worked out... Read more
07/20/15
In contrast to form based recognition, the free-form recognition tries to find certain values (like an insurance number) somewhere on... Read more
07/17/15
Testing web applications is the one thing that could be really really painful. Nevertheless typically there is no way around... Read more
07/16/15
Do you know Ada Lovelace, Barbara Liskov, Shafi Goldwasser, Sophie Wilson, Anita Borg and Grace Hopper? If you had participated... Read more
07/14/15
The thing about trends is that they will come and they will go. So after the agile trend continuous delivery... Read more
07/14/15
React Europe Two weeks ago I went to the React Europe conference in Paris and would like to give you... Read more
06/25/15
Every developer has his own preferred language and software stack, and a lot of religious discussions are held about that... Read more
06/22/15
The build pipeline mentioned in this post will be presented at JUG Frankfurt (24.6.2015) Spring is doing it. OSGi... Read more
06/12/15
As generally acknowledged testing is an important part of the software development process. Tests should be applied during each phase... Read more
06/01/15
Abstract When building applications which are dependent on other systems e.g. for business logic or data integration purposes the question... Read more
05/27/15
Currently we can observe three mega-drivers that force IT into a dramatic change: Economic darwinism Digitization Disruptive technology All of... Read more
05/26/15
…and why it should be a fundamental principle of application design Some incredibly useful principles or patterns for software design are... Read more
05/18/15
For many years now I have been working with Application Performance Management (APM) tools in the Java realm. Compared to... Read more
05/13/15
The task Some time ago I wanted to get a feeling for Erlang and I also had a need for... Read more
05/05/15
It was at our Munich Softwerkskammer Software Craftsmanship Meetup in early 2013 that we first did a “Taking Baby Steps”... Read more
04/30/15
No, the title is not a writing error. It’s about agile transformations and attempts that seem to ignore why they... Read more
04/28/15
The Equinox p2 project provides a provisioning infrastructure that can be used to update or install features into an OSGi... Read more
04/27/15
It seems that ‘Bounded Context’ (from Eric Evans’ Domain Driven Design) has become one of the terms that have to... Read more
04/22/15
The Equinox p2 project provides a provisioning infrastructure that can be used to update or install features into an OSGi... Read more
04/21/15
Machine Learning is one of the hottest topic on the web. But how do machines learn? And do they learn... Read more
04/16/15
In a previous post, I wrote about executing Puppet from within an Ansible playbook. But the output did not look... Read more
04/15/15
With the help of co- and contravariance annotations in Scala you can derive relationships between parameterized classes from their type... Read more
04/13/15
What is the Scala type checker trying to say with the error message that a covariant type occurs in contravariant... Read more
04/10/15
JavaFX provides a simple means to create platform independent applications with a graphical UI. This platform independence, however, usually comes... Read more
04/09/15
OSGi services are used to provide functionality via separate bundles. They are also used to decouple functionality, so it is possible... Read more
04/08/15
In my current project we are using feature branches to keep the master-branch clean and stable. Development, peer code reviews... Read more
04/06/15
Today I want to show you a simple way how you can increment the version inside the Maven pom.xml file.... Read more
04/02/15
As explained in JavaFX Interoperability with SWT it is possible to embed JavaFX controls in a SWT UI. This is useful... Read more
03/31/15
A well-known design decision of Elasticsearch is that a fixed number of shards has to be specified when creating an... Read more
03/25/15
The Same-Origin Policy (SOP) is a security model that almost everyone gets in touch with when developing websites or web... Read more
03/23/15
Angular services are singleton objects that can be used to organize and share code. Services are typically used to interact... Read more
03/20/15
The Scala language has been published in 2004 and is continuously developed by EPFL and Typesafe. These activities are funded... Read more
03/19/15
Machine Learning is one of the hottest topics on the web. But how do machines learn? And do they learn... Read more
03/18/15
Sometimes it takes more time or words to describe a concept in natural language, than to express it in code.... Read more
03/16/15
Intro As mentioned before — for example in Fabian’s The CenterDevice Cloud Architecture Revisited post from December 2014) — our... Read more
03/13/15
Out of the box, JavaFX 8 supports JPEG, PNG, GIF and BMP images, which should be sufficient for most use-cases.... Read more
03/11/15
Last week my colleague Bastian Krol put up an interesting question on Twitter about JavaScript Promises and the ability to... Read more
02/16/15
When developing an Eclipse RCP application in the past, you needed to use the Standard Widget Toolkit (SWT) as UI... Read more
02/10/15
For over a year, I am now proud Product Owner of CenterDevice. And all this time I felt bad about myself,... Read more
02/05/15
This blog article describes a new Jenkins plugin we developed as a result of the Continuous Delivery in the Cloud... Read more
02/04/15
This is just a short note on how to get the Selenium WebDiver installed and running for the browser Safari... Read more
02/02/15
The next months there will be several blog posts related to Eclipse RCP and related technologies. They will be released... Read more
01/30/15
Performing database migrations – or we can also call them schema migrations – is an essential task in almost every... Read more
01/22/15
Abstract As generally acknowledged testing is an important part of the software development process. Tests should be applied during each... Read more
01/16/15
Abstract As generally acknowledged testing is an important part of the software development process. Tests should be applied during each... Read more
01/15/15
Continuous Delivery is hot nowadays and many companies jump in by providing (expensive) tools to assist this process. In this... Read more
01/12/15
This post is about architectural concepts for web applications – self-contained systems (SCS) and resource-oriented client architecture (ROCA) – and... Read more
01/08/15
In classical Monolith-based environments there are normally not so many separate release artifacts, so it’s relatively easy to maintain the... Read more
01/06/15
A well known approach to separate documents at scan time is the use of barcode labels on the first page... Read more
12/19/14
Getting the best of Apache Cassandra inside Apache Karaf: this blog post will describe how easy it was to embed... Read more
12/17/14
In a previous post, I wrote about combining Ansible and Puppet, with Ansible as remote executor for arbitrary commands. In... Read more
12/15/14
When your browser asks you if you want to allow Java applets for a certain website, you might be interested... Read more
12/12/14
Transforming an update-heavy Elasticsearch use case into an insert-heavy one. Just recently i’ve had the opportunity to set up an... Read more
12/10/14
After some time we released the next version of Spring Boot Admin with some great new features, like UI-based Log... Read more
12/08/14
About 2 years ago, I introduced you to the architecture of CenterDevice, and it is now time for an update.... Read more
12/03/14
Recently we had a problem with a buggy update to a piece of 3rd party client software. It produced lots... Read more
12/01/14
In the previous blog post we looked at a best practice architecture for Java Batch applications that is running successfully... Read more
11/28/14
Ionic is one of those frameworks that you hear about from time to time. It is barely a year old... Read more
11/27/14
The codecentric go challenge 2014 is over. Franz-Josef Dickhut managed to defeat Crazy Stone, one of the two strongest go... Read more
11/24/14
More and more companies are doing their batch processing in Java these days – but how do you do it... Read more
11/17/14
Writing your own Spring Boot Starter can be a very reasonable thing to do – not every technology is covered... Read more
11/12/14
Java batch is becoming a hot topic in enterprise environments these days, but how do you do it the right... Read more
11/10/14
“I want highly responsive app which would allow browsing data even when I’m offline.” – boy, if we had a... Read more
11/05/14
The web can be a brutal environment with various combinations of browsers and operating systems (platforms). It is quite likely... Read more
10/29/14
In this blog post you will get a brief overview on how to quickly setup a Log Management Solution with... Read more
10/23/14
Abstract In the last years the industry has identified the demand in development and operation automation which led to a growing... Read more
10/17/14
My talk about profilers and their inner workings from JavaOne is now viewable for free in its entire length on... Read more
10/10/14
Robot Framework Tutorial Part I: Robot Framework Tutorial – Overview Part II: Robot Framework – A complete example Part III:... Read more
10/07/14
Earlier this year a customer mentioned a search requirement that I hadn’t really thought about before: How to achieve transa