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.

JSCity – Code Complexity Visualization For JavaScript Codebases

JSCity is a tool for visualising JavaScript source code complexity that uses the CodeCity metaphor. This approach makes use of the building blocks of modern cities for visualising the building blocks of software. Since in JavaScript functional programming is the predominant programming paradigm JSCity represents code artefacts like this: folders are districts files are sub-districts functions are buildings inner functions are represented as buildings on the top of their nested function / building This for example is the visualisation of the AngularJS source code. JSCity even allows you ... Read more

Writing Disposable Code, Not Reusable Code

In an article about common software over-engineering mistakes Subhas Dandapani provides a lot of useful insights on why software often is over-engineered - sometimes to the extent it becomes unmaintainable. From my experience, the by far most frequent cause of over-engineered and overly complex software is engineers trying to anticipate requirements and potential future use cases. Everything has to be abstract in order to accommodate any possible use case business might come up with. Repetition is generally regarded as waste. Engineers hate ... Read more

Mockito 2 now available

Last week version 2.1.0 of the Mockito testing framework for Java has been released. For more information on this latest iteration check out this page. As the name suggests, Mockito allows you to mock object behaviour during unit tests. When writing unit tests you only want to test a particular unit's behaviour (hence the name). Depending on the programming language used such a unit might be a function, a procedure or - most commonly in today's object-oriented programming environments - a ... Read more

Anti-patterns: Rewriting Software

It's one of those fallacious patterns in software development that though well-known to cause trouble without creating any significant benefit unfortunately ever seems to truly go away: The Software Rewrite. In general, software developers tend to not particularly like working on old - or legacy - code, especially if it's not been written by themselves or if they feel that due to aspects like time and budget constraints they didn't have the opportunity to get the software architecture right from the get-go. ... Read more

Less Is More

What's true for design in general certainly is true for software design in particular: Less is more - or paraphrasing Dieter Rams - "Write less software in order to write better software." A few weeks ago I read this interesting article by web accessibility consultant Heydon Pickering. In this blog post he argues that the only foolproof way of writing performant web applications is to write less code. Sure, all that fancy minification, transpiling, JIT / AoT compilation and optimisation stuff might ... Read more

Code means communication

Writing software is all about communication. Code is a way of conveying the meaning of natural language requirements in an exact manner so that computers can make sense of the intentions of our fickle human minds and the often ambiguous ways we tend to express ourselves in. So, in that respect software development amounts to translating human concepts and notions into a language machines can understand. However, communicating with machines is only one, more technical aspect, of writing software. The by far more important ... Read more

Libraries.io and Dependency CI: Open Source Library Discovery and Dependency QA

Recently, I came across Libraries.io and its companion service Dependency CI. Open Source Library Discovery and Dependency QA Read more

Varying Degrees Of Software Quality And What To Do About It

When working on client projects I come across copious amounts of source code, which sometimes is very well-maintained, sometimes less so. The various code bases are as diverse as their owners and respective stakeholders: A few come with an inherent sense of quality, lots of unit tests serving as the specification for the product. They're typically delightful to maintain and extend. Some though at times leave the impression of having been cobbled together in a rather haphazard, impromptu manner in order to solve ... Read more
« Previous Page