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.

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

Opinion-driven Design: Simplicity Over Flexibility

Software developer Brent Roose recently wrote a blog post on what he calls "opinion-driven design". His point his that while a mindset of "high configurability and flexibility" is undoubtedly common when it comes to the development of software frameworks and libraries, it ultimately is also misguided in most cases. In an attempt to both accommodate every possible use case and to remain in control (also known as the "Not invented here" (NIH) syndrome), framework developers tend to favour flexibility at the expense of ... 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

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

A Simple Yet Powerful Tool: Decision Tables

Decision tables are a tool for specifying which actions to perform given a number of conditions. They represent business logic in terms of rules for connecting actions with required conditions for those actions. While they might appear deceptively simple and trivial they can be a tremendously powerful tool for defining business logic and certain types of software requirements. This article on Decision Table Patterns by Hillel Wayne describes the general concept as well as patterns, techniques, and best practices for using decision ... Read more

Cloudcraft – Cloud Architecture Diagrams and Visualisations

After recently having written about AWS cloud visualisation and management tools such as CloudMapper and Vantage I was made aware of yet another such tool by Sebastian Reuße: Cloudcraft allows you to not only visualise your AWS cloud architecture with beautiful as well as somewhat playful isometric infrastructure diagrams reminiscent of turn-based strategy games but also provides live connectivity with your actual AWS infrastructure and so-called "smart" components. Using these features you don't have to manually draw and recreate your existing infrastructure in ... Read more

Vantage – A Unified AWS Console

In last week's blog post I casually mentioned that out-of-the-box with AWS there's no single unified console providing you with an overview of your deployed infrastructure. Thankfully, there's Vantage - a centralized dashboard that provides you with such an overview and cost transparency across AWS regions and accounts through views, global search, and actionable insights. Up to $500 in monthly AWS spend Vantage is free. Beyond that there are Pro and Business plans at a monthly price of $50 and $250, respectively. Read more

CloudMapper: An AWS Visualisation Tool

CloudMapper is an AWS visualisation tool that's highly useful for getting an overview of your AWS infrastructure and network setup. Depending on the number of services, instances, VPCs, and subnets used, getting lost is quite easy, especially when considering that out-of-the-box with AWS there's no single unified console from which to get an overview of your deployed resources but rather a multitude of consoles, one for each AWS service. Therefore, keeping track of your infrastructure and keeping your costs in check can be ... Read more

Beautiful Presentation of Code Snippets

In case you need to document and present source code and would like to do so in a visually appealing manner these tools might come in handy: Ray.so Carbon Source Code Shots With Ray.so being the most recent one and arguably also the one with the most stylish output, all of those generate decent-looking images of your source code snippets for embedding into documentation, blog posts, or eBooks, for example. Read more
Next Page »