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.

Nonsense We Put up With: Complexity, Agile Gone Wrong and Enterprise Decision Making

Recently, I've come across a few articles that - although about ostensibly different subjects - share a common theme: When trying to create business value through software and devising the structures required to do so we all too often put up with wasteful processes, politics and toxic behaviour patterns that not only do not contribute to our goal but are downright detrimental. First, there's this transcript of a talk Martin Fowler gave at Agile Australia this year: The State of Agile Software ... Read more

Dependency Management for Angular Unit Tests Using TestModuleMetadata

Since its inception it's always been one of the eminent design goals of Angular (and AngularJS before it) to make JavaScript applications easily testable and bake unit and E2E testing right into the development process. While the Angular team certainly has succeeded at this there's still the occasional snag you hit when writing unit or end-to-end tests. For the most part, the testing experience with Angular is terrific and testing JavaScript codebases has come a long way but of course there's always ... Read more

Blogumentation

I'm not sure if he actually came up with the term 'blogumentation' but software quality engineer Jamie Tanna features quite prominently when searching for it so at the very least he appears to be one of its more avid and deliberate users. Anyway, while the term 'blogumentation' might be somewhat obscure the concept behind this particular portmanteau is a seminal one. Basically, it derives from the insight that often the best way to learn and internalise knowledge is to talk, write and ... Read more

The 5 Levels of Logging Explained by Orhan Kavrakoğlu

In this article Orhan Kavrakoğlu explains the logging levels commonly used in software alongside with some pertinent examples as well as recommendations and best practices such as in which case to use which particular log level and how to present them to the target audience (i.e. other developers, system administrators or DevOps people) so they get noticed in accordance with their respective importance and urgency. As mentioned here before seemingly trivial improvements such as providing better context in your log messages can ... Read more

Artur Śmiarowski’s Guidelines for Writing Readable Code

Code means communication has become a bit of a mantra for me. Source code isn't just the means by which you translate requirements into commands and structures a machine can understand. Source code also communicates your intent as a designer and engineer as to what a particular piece of software is supposed to do. If written in a clear and comprehensible manner code can serve as an authoritative design specification with no or little extra documentation needed. I would go as far as ... Read more

Tool Suggestion – NGD: Angular Dependencies Graph

When working on a larger codebase knowing about the dependencies between components is crucial, particularly so when you're trying to understand how an existing application works. NGD - Angular Dependencies Graph (part of the Compodoc documentation suite for Angular) is a tool that - as the name suggests - generates dependency graphs (i.e. boxes and arrows) for Angular applications. Dependency graphs give you a high-level overview of an application's architecture and hence are a great first step in understanding how an application ... Read more

Article Suggestion: “Provide Contextual Information in Log Messages”

Software developer Tom Hombergs recently wrote an article about making log statements more useful by providing context in order to make it easier for a developer who uses your libraries or builds upon your code to find out what the actual cause of an error is. The blog post contains many pertinent examples of both good and bad log output. Seemingly trivial improvements such as making your log output more helpful and explicit can make a huge difference and save a lot of ... Read more

On Writing Unmaintainable Code

Software developer Andrew Yurisich maintains an - ironically - maintainable version of the authoritative guide to unmaintainable code by Roedy Green of Canadian Mind Products. This expansive, tongue-in-cheek how-to teaches developers to make themselves indispensable through writing code only they can understand. Aside from the comical value learning by what not to do can be an extremely useful method. By making sure your code follows none of the guidelines put forward in this how-to you'll already have covered many aspects of writing readable, ... Read more

Bret Victor: The Future of Programming

Bret Victor - The Future of Programming from Bret Victor on Vimeo. Read more

Wesley Grubbs – The Importance of Failing Successfully @ beyond tellerrand Düsseldorf 2018

The Importance of Failing Successfully - Wesley Grubbs - btconfDUS2018 from beyond tellerrand on Vimeo. Read more
« Previous PageNext Page »