GitLab version 13.8 was released on Jan 22, 2021 and ships with a new Pipeline Editor feature. Let’s look into it. Pipelines in CI/CD systems are traditionally created in text form. Whether Jenkins, CircleCI or GitLab – you usually start your pipeline in your favourite text editor. With CI/CD processes gaining more attention by all kinds of developers, this practice is now questioned since text-based formats are said to be less user-friendly than graphical UIs. GitLab’s vision is to have ...

On December 8, 2020, Red Hat CTO Chris Wright announced that the popular Linux distribution CentOS will only receive support (and security fixes) until 2021 (instead of the originally announced 2029). Put differently: thousands of CentOS users who counted on the availability of security updates for the foreseeable future are now left in the cold and need to migrate their systems in the next 12 months. While this may sound like a long time, it is actually a gigantic pressure ...

In this article, I will demonstrate how to install Java OpenJDK 15 on macOS Big Sur in 2021. Update: I have created a video tutorial on how to install OpenJDK on macOS Big Sur: If you prefer written instructions, just keep reading: Download and Install OpenJDK 15 Download the .tar.gz version of OpenJDK 15 from jdk.java.net/15/ and move the file to /Library/Java/JavaVirtualMachines/ on your mac. Then, extract it and delete the archive: sudo mv openjdk-15.0.1_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines/ cd /Library/Java/JavaVirtualMachines/ sudo tar ...

Securing software applications has not exactly become easier with the advent of agile software development methodologies such as scrum. In this post, I review the book Agile Application Security (by Laura Bell, Michael Brunton-Spall, Rich Smith, and Jim Bird), introduce some of its key ideas, and summarize why I found it so insightful. This book guides software development teams on how to practically integrate security into their agile processes. I recommend it to two groups of readers: (1) information security ...

Many applications are automatically tested on each commit inside a GitLab pipeline. If your application relies on a database such as PostgreSQL, it can be tempting to use an in-memory database such as H2 for tests because it is easier to set up and destroy for each execution of your test suite. While this works for simple applications, it is no longer possible once you rely on vendor-specific SQL features (e.g., usage of column types not available in H2). In ...

Test-Driven Development (TDD) is a practice that aims to increase both software quality and developer productivity. In a recent study, researchers found that many novice developers reject the adoption of TDD due to a lack of pleasure in certain development phases. Should this even be their decision to make? Novice Developers Can Be Uncomfortable With TDD In a study by Romano et al. from 2019, researchers investigated how the practice of test-driven development (TDD) affects the mood of novice software ...

In this article, I will demonstrate how to install Java OpenJDK 15 on macOS Catalina in 2020. Download and Install OpenJDK 15 Download the .tar.gz version of OpenJDK 15 from jdk.java.net/15/ and move the file to /Library/Java/JavaVirtualMachines/ on your mac. Then, extract it and delete the archive: sudo mv openjdk-15_osx-x64_bin.tar.gz /Library/Java/JavaVirtualMachines/ cd /Library/Java/JavaVirtualMachines/ sudo tar -xzf openjdk-15_osx-x64_bin.tar.gz sudo rm openjdk-15_osx-x64_bin.tar.gz ...

I recently finished a course on machine learning (ML) by the Google Cloud team. In this article I want to share some key insights from this course regarding suitable use cases for machine learning in today’s businesses. While many businesses could profit from machine learning, it is often hard to get started due to the lack of experience about what kinds of problems can be solved with ML and which of them are low hanging fruits. Cloud providers such as Google Cloud ...

I recently finished the course “Machine Learning for Business Professionals” from Google Cloud via Coursera. While the certificate normally costs about 40-50$, there is a limited time offer by Coursera where you get it for free. In this article, I will show you how to redeem this offer, what the course is about and if it is worth taking. ...

Traditionally, relational databases required all tables to have a fixed data schema, i.e. a set of attributes (such as a “user” table with attributes “firstName”, “lastName” and “email”). You could change the schema by adding and removing attributes, but the available attributes were always know at a given point in time. For many use cases, this was acceptable. However, some applications have the need to store semi-structured data: entries where the attributes are not known ahead of time. Since 2012, ...

Bernhard Knasmüller on Software Development