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 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: Carbon Source Code Shots With 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

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

Two Hard Things in Computer Science

I've always liked Jeff Atwood's variation on Phil Karlton's original quote "There are only two hard things in Computer Science: cache invalidation and naming things.": There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors. However, with reactive programming these days this version by Dave Stagner probably is even more appropriate (especially since it uses zero-based numbering, which of course is the only decent way of indexing elements in a sequence ...): 0) Cache invalidation 1) Naming things 5) Asynchronous callbacks 2) ... Read more

Testing Spring Boot Applications Masterclass by Philip Riecks

From crafting new software to refactoring existing applications automated testing is an essential part of professional software development and pivotal to high quality software. Philip Riecks (one of the other authors of our upcoming eBook Stratospheric - From Zero to Production with Spring Boot and AWS) offers the - aptly named - Testing Spring Boot Applications Masterclass, a comprehensive, in-depth online course on testing Spring Boot Applications. Currently (as of September 2020), the course consists of more than 90 videos (six hours in ... Read more

GitLive – Real-time Code Collaboration

Continuing on last week's subject of better collaboration and knowledge sharing in software development (with CodeStream, in that case) I'd like to share GitLive - a new, promising tool I've come across. GitLive allows you and your fellow team members to collaborate on code in real time right in your IDE thereby turning it "into a collaborative space". What I've seen so far looks intriguing. I think that we'll be moving into that direction more rapidly and that we'll see more tools of ... Read more

CodeStream – Code as a Knowledge Base

CodeStream is a code review tool that allows you to conduct such reviews right in your IDE, i.e. without changing context. According to their master plan CodeStream is supposed to "Provide the ability to talk about any block of code, on any branch, in any state [...]" "Eliminate context switching costs [...]" "Treat codeblocks as a first-class object [...]" in order to allow developers, both new and senior ones, to quickly get up to speed with an existing codebase and to collaborate and draw upon each ... Read more
Next Page »