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.

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

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

AWS 101 – A Teaser: What to Expect and When

This past three months I have been working with fellow software developers and tech bloggers Tom Hombergs and Philip Riecks on a new project called AWS 101. So far and for the most part, we've been flying under the radar (the project is developed in the open though, see below) but the time has come to give you a little information about what to expect from this. The basic idea behind AWS 101 is to provide software developers and businesses with basic templates, ... Read more

sdras/awesome-actions: A Curated List of Useful GitHub Actions

As a follow-up to last week's post on automating software maintenance tasks with GitHub Actions I'd like to point you to Awesome Actions, a curated list of resources related to GitHub Actions. The list includes both predefined actions you can directly use and resources for getting started with building your own actions and workflows, as well as various utilities for testing, linting and security purposes. Read more

Using GitHub Actions for Automating Angular Updates

I've published quite a few Angular applications under various open source (MIT and Apache License, respectively) licenses : GDPR Transparency PivotHelper TimeSheets3 Among other responsibilities, maintaining software comes with the task of regularly checking for dependency updates and applying them to the software in question. This first and foremost involves security updates but also bug fixes and new features for the frameworks and libraries used by the application. Fortunately, Angular CLI comes with a command that allows you to do just that: ng update However, while having a ... Read more

Musings of a Greybeard on the State of Software Engineering

Two days ago software engineer and fellow blogger Tom Hombergs asked on Twitter if software development had grown harder over recent years, to which I replied: "Incoherent ramblings of a greybeard (without a beard, which is weird; these words rhyme, which is even weirder ...), who has seen at least 3 fat-client-thin-client cycles (the standard time unit in software architecture): As usual it depends. Just a few examples:" For the purpose of this blog post I just deemed it more sophisticated to call ... Read more

Remote Team Collaboration: tmate – Instant terminal sharing

While there are quite a few options for collaborating visually in a remote work setting and remote desktop solutions are ten a penny there are surprisingly few options for instant live collaboration in text-based environments, i.e. terminals or command-line interfaces. One such option for instant terminal sharing is tmate. tmate for instance allows you to have remote pair programming sessions via the terminal or work collaboratively on a command-line interface. It achieves this by returning a connection string such as ssh [email protected] This ... Read more
Next Page »