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.

Five Articles on Software Quality and Design Patterns

This week I'd like to point you to five articles I previously posted on this blog and from which I think that they're as relevant as they were at the time. The first three are about general software design principles, software architecture and software quality while the final two refer to specific best practices and common design patterns for Angular: Writing Disposable Code, Not Reusable Code (November 06, 2016) What Causes Over-engineering and How Can You Prevent It? (April 16, 2017) Less Is More ... Read more

Admiral Grace Hopper Explains the Nanosecond

Grace Hopper was a brilliant computer scientist, who - among numerous other achievements throughout her career in mathematics and computer science, the military, and the at the time nascent software business - can be credited with having had a pivotal role in the development of the business programming language COBOL (which quite deservedly got her the nickname Grandma COBOL and which in turn gave rise to enterprise software and the enterprise software industry) This is her visually explaining what a nanosecond ... Read more

Repost from 16 June 2020: COVID-19 Tracing App for Germany

Repost from 16 June 2020: German COVID-19 tracing app available now. Read more

German COVID-19 Tracing App Available Now

Earlier today, the highly anticipated COVID-19 tracing app for Germany, called Corona-Warn-App, has been released. The iOS version is available on the App Store. The Android version can be downloaded at Google Play. The Corona-Warn-App is based on the DP3T (Decentralized Privacy-Preserving Proximity Tracing) architecture and the joint specification by Apple and Google for privacy-preserving exposure notification, which implements this architecture as an API for official public health providers to draw upon. The app is developed and published as open source under the Apache ... Read more

No-code, Low-code, Some Code and Everything In-between

CTO-for-hire (through Freeman Clarke) Alex Hudson recently wrote an article about what he terms "The 'No Code' Delusion": That so-called no-code and low-code tools will replace bespoke business software development entirely, no trained software developers required anymore. In a nutshell, it's the old pipe dream of just having to write a specification (in this case a visual one) and having the actual code write itself, the fallacy here of course being that the code is the final product rather than the specification ... Read more

Konrad Zuse: Not the most correct but the least complicated theories find practical application.

Not the most correct but the least complicated theories find practical application. - Konrad Zuse A translated quote from one of the inventors of computers and modern computer science I read last year under a bust of Zuse near Kleiner Tiergarten in Berlin this statement is more relevant today than ever. In software development in particular we often attempt to design solutions that cover each and every possible use case - however unlikely or even virtually non-existent that use case might be. ... Read more

JSON Web Tokens: Downsides, Best Practices and Secure and Robust Alternatives

JSON Web Tokens (JWTs) nowadays are commonly used for transmitting authentication data in web applications, especially those exhibiting the widespread client-server architecture where you have a fat client / single-page application written in JavaScript as a front-end and a back-end server providing REST endpoints for use by that front-end client. However, while common there are good arguments against this practice. In a nutshell, JWT often are used for storing session data such user authorization and authentication information although they aren't particularly well-suited to ... Read more

Boring Solutions Revisited: Choose Boring Technology by Dan McKinley

Dan McKinley's article on choosing boring solutions, although not exactly new anymore, has been a welcome reminder for me to revisit the topic of of using boring solutions and keeping things simple. Dan makes the point that "adding technology to your company comes with a cost" or as I stated in my own article on this subject: "The elephant in the room is: There’s an opportunity cost to everything." Most choices come with a trade-off. If you decide to use a technology for the ... Read more

What’s Digitalisation Actually About?

Digitalisation, or digital transformation, as it is sometimes also called is an important subject matter as well as challenge for businesses today. Therefore, I find it strangely confusing that sometimes aspects are lumped together under this umbrella that are not or only tangentially related to what digitalisation actually is about. So, here's my - perhaps opinionated - take on what digitalisation is actually about and what it entails. In a nutshell, digitalisation comprises these aspects: Rethinking and being willing to change existing processes. Making ... Read more

Reactive Programming with Spring Boot and Spring WebFlux

Reactive Programming and its functional incarnation reactive functional programming are declarative programming paradigms that with the advent of reactive extensions for JavaScript such as RxJS have become immensely popular. The JavaScript event loop and the run-to-completion behaviour it entails as well as Node.js's non-blocking I/O calls lend themselves to an event-driven programming style that deals with asynchronous behaviour where both number and frequency of events aren't known beforehand. Reactor is a library that introduces this paradigm to Java. Spring WebFlux is a ... Read more
Next Page »