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.

A Catalogue of Design Patterns

Recently, I came across this well-structured as well as visually appealing catalogue of software design patterns on Refactoring.Guru. The subject of design patterns can be a somewhat dry, unwieldy one. Hence, using visuals and metaphors can come in handy when explaining both the general idea behind design patterns and specific patterns alongside with their use cases. Refactoring.Guru does a great job not only at explaining the origin and purpose of and rationale behind design patterns and pattern languages but also at describing each ... Read more

Towards More Considerate and More Collaborative Code Reviews

Software engineer Dan Goslen recently published an article on how he's going to change his approach to code reviews. The most widely used organizational pattern for conducting code reviews probably is the pull request, also called merge request. This particular pattern and the tools source code management systems provides us with to support this pattern lend themselves to a review strategy that focuses on commenting on code and minute details rather than the big picture and collaboration and knowledge sharing. The goal of ... Read more

A Collection of for a Improving the UX of Signup  and  Login Workflows

Independent UX designer Erik D. Kennedy recently published an article with 15 Tips for Better Signup / Login UX on Learn UI Design - a website through which he provides acclaimed courses on both UI and UX design. The article lists general suggestions such as autofocusing on the first field (i.e. the username, or rather: email, field), immediately validating form values, or making input labels clickable, as well as more specific - but no less expedient - ones like making password requirements explicit to ... Read more

Second-order Affordances: Design & Quantum Superposition

A few years ago, having read a thought-provoking article by Csongor Bartus I wrote about design & quantum superposition. The main idea behind this article, and my interpretation, is that - similar to a particle, which exists in a state of quantum superposition - a design doesn't exist by itself but can only ever be realised in a given context and at a specific moment through observation by a user and possibly a device that design is observed with. The gist, ... Read more

A Concise Overview of Java’s Instant, LocalDateTime, ZonedDateTime and When to Use Which

The authoritative answer to a question on Stack Overflow on the difference between Instant and LocalDateTime covers various classes from the Java 8 Date/Time API and how those are actually meant to be used. Names such as LocalDateTime can be misleading in that they suggest a specific locale or locality rather than any locality (as that name is intended). This, in turn, can give rise to problems with inaccurate date and time values if timezones or even just daylight saving time have ... Read more

Automating Processes: Meeting Notes

One of the key benefits of business software, or as a matter of fact, any software, is automation of tedious, repetitive tasks. One of the three great virtues of a programmer according to Perl creator Larry Wall is laziness as defined in: "The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don't have to answer so many ... Read more

Keeping a Record of Software Architecture Decisions

The need for asynchronous communication in organisations has become particularly obvious since 2020, when remote work and distributed work environments rapidly became the default setting for knowledge workers. Asynchronous communication essentially means that instead of exclusively communicating objectives, goals and the way by which to achieve them in-person (i.e. synchronously with everyone involved present at the same time - whether on-site or in a virtual space such as Slack or Zoom) we try and keep a digital record of decisions, the decision ... Read more

Working Across Timezones in Remote Work Settings and Distributed Environments

When working in a distributed environment or remote work environment, as is increasingly - and quite fortunately - becoming the default for knowledge workers, and the software industry in particular, chances are, rather sooner than later you'll be collaborating across timezones. I'm currently collaborating with people from EDT, GMT, CEST, MYT, JST, and AEST timezones, for instance. Asynchronous communication is crucial in a remote work setting already when no time differences are involved. It becomes absolutely vital when people from different timezones depend ... Read more

Cloud Design Patterns

In the past few months, I've been working a lot with distributed applications and more complex cloud architectures, both in terms of Stratospheric - From Zero to Production with Spring Boot and AWS (the eBook I'm currently writing together with Tom Hombergs and Philip Riecks) and client work. Microsoft's library of Cloud Design Patterns (as previously mentioned in this blog post) is a collection of cloud-related software and infrastructure design patterns that can help you with weighing up the merits of common ... Read more

Push Notifications with Amazon MQ – Sample From “Stratospheric – From Zero to Production with Spring Boot and AWS”

The following is an excerpt from the chapter on "Push Notifications with Amazon MQ" from the eBook "Stratospheric – From Zero to Production with Spring Boot and AWS" I'm currently writing together with Tom Hombergs and Philip Riecks. You can get the eBook over at Leanpub. Push Notifications With Amazon MQ As discussed in the chapter "Sharing Todos with SQS and SES" we might want to share our Todos with others. Being able to share Todos is already quite helpful for working on tasks ... Read more
« Previous PageNext Page »