PostgreSQL revisited

I still remember when I heard PostgreSQL for the first time. It was around 2001, when my former room mate mentioned that he was a maintainer for PostgreSQL on Debian. At that time, I was still studying electrical engineering, so database systems were no concern to me. But I knew something was there and even used PostgreSQL for some projects, professional and private. Today I held a presentation for my fellow developers at wer denkt was, comparing PostgreSQL with MySQL.

Read more →

Vue JS Checkbox Binding

The Vue JS forms documentation suggests the v-model double binding for input form elements. <input type="checkbox" id="checkbox" v-model="checked"> There are cases, where a manual double binding is favorable, e.g. when using Vuex. The syntax for checkboxes is. <input type="checkbox" id="checkbox" v-bind:checked="checked" v-on:change="onChange($event)"> Do not use the input event, as this is not triggered on Internet Explorer 11. Read more →

Security Headers

Currently I work on a presentation about web application security based on OWASP. One topic among many others involves security headers, which are usually sent by the server to prevent certain risks. I have also checked my weblog and added most headers in my Apache config file.

Read more →

Image Handling with Hugo

I like photos and use them extensively on this site. But images have a price, as images can be quite large and every image needs to be fetched by a request. And so, image-heavy pages take quite some time to load. In the past weeks, I have introduced lazy-loading images on this weblog and would like to share how I did this. The examples are done in Hugo, a static site generator.

Read more →

Extending Angular Components

Angular components are a powerful way to develop web applications. And there are so many helpful npm packages out there, which solve many of the intricate problems. But very often customers will not be happy with the standard solution out of the box. And so the question comes up how to gracefully extend existing 3rd party components.

Read more →

Using ngx-charts in a grid

In one of my recent work projects, we are using charts within a Bootstrap grid. After updating from Chartist to ngx-charts, we had a severe issue with the charts, which suddenly overlapped each other. I would like to share my investigation and solution for this issue.

Read more →

Exploring GraphQL

In an attempt to explore new technologies, I have recently digged into GraphQL, which may be the future protocol for fetching data with mobile and web applications. In contrast to the current standard (REST APIs), GraphQL fetches exactly the data you need, in one request. This is vital for mobile applications and can also be handy for web applications.

Read more →

Theater Production and Actor Database

Currently, I am working on a hobby project, a theater production and actor database (mwtdb for short). It is visible on GitHub and open source. Requirements What I want to create is something similar to IMDb, which focuses on movies, TV and celebreties, but for amateur theater. A very basic version will contain actors, directors and technicians, contributing to productions. From a technical point of view, I will create a web application, using Angular and Neo4j, a graph database. Read more →

Technical Summit 2016 in Darmstadt

Soon, I will attend the Technical Summit 2016, which will take place from Dec 6 to 8 in Darmstadt. This is my first conference for my new employer (ConWeaver), where I am working pretty much along the same lines as for Comparis, meaning front-end development with HTML, CSS and JavaScript and its many derivatives (Sass, LESS, TypeScript). A new challenge is Angular, which has recently reached version 2 and comes with a nodejs-based workflow and with mostly alpha-staged tools around.

Read more →

Fighting with JSON

In my current project, I had to deal with huge JSON files, which contain the order and properties of our layout elements. For CSS styling purposes, I had to move one particular array item to the end, create a new object and move all existing elements inside of that new object. This was tedious work when I did that manually. So I decided to develop a little C# Console application, taking care of that for me. Read more →