my blog. for you.

Let’s talk digital.

I’m an independent IT consultant and entrepreneur in the Internet and software business. I’m interested in design, enterprise applications, web apps and SaaS products. I design and develop business solutions and applications. I help companies in terms of software quality and knowledge transfer, e.g. with Angular and Spring Boot.

Automated Software Refactoring With OpenRewrite and Generative AI by Tim te Beek @ Spring I/O 2024

Read more

Major Migrations Made Easy by Tim Te Beek @ Spring I/O 2022

I'll write a more comprehensive review of Spring I/O 2022 in Barcelona soon. Until then, I'll post recordings of some of the talks I've found most intriguing during that conference. One of those talks was given by software engineer Tim te Beek on OpenRewrite - a tool for complex source code refactoring (e.g., framework migrations, vulnerability patches, and API migrations): Mostly focused on Java for the time being, OpenRewrite is a tremendously useful tool when it comes to refactoring the source code of ... Read more

A Guide to Refactoring Large Functions by Robert Muth

Software Engineer Robert Muth wrote this interesting article on refactoring large functions. The article starts with providing ample motivation for using functions (or methods in a strictly object-oriented context). Apart from making code shareable and reusable, which is only a minor benefit of functions / methods, reasons for writing code as functions are: giving a meaningful name to several lines of related code readability limiting visibility lowering indentation levels improving testability The article goes on to describe several common cues indicating that extracting the code at hand to ... Read more

Writing Disposable Code, Not Reusable Code

In an article about common software over-engineering mistakes Subhas Dandapani provides a lot of useful insights on why software often is over-engineered - sometimes to the extent it becomes unmaintainable. From my experience, the by far most frequent cause of over-engineered and overly complex software is engineers trying to anticipate requirements and potential future use cases. Everything has to be abstract in order to accommodate any possible use case business might come up with. Repetition is generally regarded as waste. Engineers hate ... Read more