In many git workflows, all changes to your code should eventually end up in the master branch. You may also have a develop branch which contains code changes that are not ready for production deployment yet. For some reason or another, you may end up in a situation where your develop has changed so much that you can no longer easily merge it into master. Most of those reasons suggest bad practices, but such a situation may also arise due ...

Oracle is currently offering an always free tier of its compute cloud. In this article, I will show how to register an account, add the free tier units and connect to them via PuTTY on Windows. What is included? While the offer is actually free for an unlimited time, the following restrictions apply: 2 database services are included (ATP serverless and ADW) limited to 1 OCPU and up to 20 GB 2 compute services (1 GB RAM and 1/8 OCPU ...

Directed Acyclic Graph (DAG) style dependencies between individual stages in a continuous deployment pipeline allow for a more flexible workflow and better utilize available computational resources. Imagine a simple pipeline consisting of three jobs: A syntax check A code complexity check Running all unit tests You may be tempted to group those in two stages: A) Build (consisting of jobs 1 and 2) and B) Test (consisting of the unit tests): Traditional Sequences In plain old GitLab pipelines, you would ...

In another article I summarized the series of events that lead to a potentially huge number of iOS devices being overtaken by malicious actors. While increasingly more information about these incidents is revealed, one particularly interesting question should be raised: To what extent is Apple to blame? Fast Reaction Let’s start with the good news. As Project Zero researcher Ian Beer writes, they have informed Apple about two of the exploits on February 1st, 2019. Apple reacted within six days ...

On August 29th 2019, the British security researcher Ian Beer (@i41nbeer) from Project Zero at Google published multiple blog posts about a series of iOS exploits. According to their findings, those exploits have been used to completely take over iOS devices. This article provides focused answers to eleven questions about this series of events. What is the overall impact of this attack? If you used an iOS device (iPhone, iPad, …) in the last two years and visited a certain ...

This is going to be a short one. You may be experiencing troubles when installing Kali Linux via an USB flash drive: You may be inclined to waste a few hours following one of the countless articles suggesting to manually open a shell, change the way your USB stick is mounted and try to fix the issue that way. However, chances are there is a simpler solution in case you are using the popular “LiLi USB Creator” tool on Windows ...

Creating and persisting business objects using Spring Boot is amazingly easy. Assume you create an API for simple CRUD methods and want to create an entity based on data entered by your frontend users. In the old times, you would probably populate several POST fields in a key-value style and create your business object manually from those fields. Spring Boot offers an easier solution. As long as your internal data model equals the frontend’s data model, you can use the ...

Imagine you work on an application on a development server for several months until it is time to deploy it to a production system for the first time. Chances are, there are several necessary configuration tasks just waiting to be forgotten: firewall permissions, specific software libraries, file permissions and so on. Ansible offers a reproducible and automatable way to take care of these configurational changes for you – and the beauty is: it does not depend on a specific Linux ...

Performance testing a REST API reveals its runtime behaviour under stress and can be an early indicator of QoS violations in production. Apache JMeter offers a GUI mode where such load tests can be created and their results be analyzed easily. In this tutorial, I will show you how to test the performance of the FizzBuzz-API written in Rust presented in one of my previous articles. Let’s get started. Install JMeter Installing JMeter is very simple once you have Java ...

Learn How to Create a FizzBuzz Implementation in Rust FizzBuzz is a classical software developer interview question with the simple goal of writing an application that outputs “Fizz” for numbers divisible by 3, “Buzz” for numbers divisible by 5 and “FizzBuzz” for numbers matching both cases. In this article, I will show you how to implement FizzBuzz using the Rust programming language and the Rocket framework. Start by using Rust nightly and setting up a new Rust project using cargo: ...

Bernhard Knasmüller on Software Development