Category: Software Development

  • Xcode Simulator: Unable to boot the Simulator

    Xcode Simulator: Unable to boot the Simulator

    Written by

    in

    When trying to start the simulator, I get the following error “Unable to boot the Simulator”: While searching through different resources on the internet, I came across the following solution that worked for me. 1. Open “Settings > General > Storage” 2. Open “Developer” Open the “Developer” section by clicking on the info icon on…

    Read more

  • Performance improvements for GitLab on servers with limited resources

    Performance improvements for GitLab on servers with limited resources

    Written by

    in

    When running GitLab, the default installation enables all services by default. This might result in a poor performance, especially when the server has limited resources like RAM or CPU power. To improve the performance of your installation, the GitLab documentation already provides some settings that can be adjusted easily. A detailed description can be found…

    Read more

  • Install and update GitLab Runner

    Install and update GitLab Runner

    Written by

    in

    I already wrote a summary on how to Setup GitLab Runner for Docker containers on Synology NAS. As this article has a lot of details for the Synology setup, I decided to write a short summary for this topic on a regular Linux server. So let’s go… Before we start, we need to have Docker…

    Read more

  • Docker: how to build and push a Git repository to Docker Hub

    Docker: how to build and push a Git repository to Docker Hub

    Written by

    in

    Docker Hub is a cloud-based repository provided by Docker that allows developers to store, manage, and share Docker container images. It serves as a central registry for Docker users to distribute their containerized applications and collaborate with others. To build and push a Git repository to Docker Hub, you can follow these steps: Step 1…

    Read more

  • Flutter: How to remove the debug banner during development

    Flutter: How to remove the debug banner during development

    Written by

    in ,

    By default, Flutter shows a debug banner on the top right corner of an app, that indicates that the app was build in debug mode. This banner… … is intended to deter people from complaining that your app is slow when it’s in debug mode. In debug mode, Flutter enables a large number of expensive…

    Read more

  • Flutter: slowing down animation for debugging

    Flutter: slowing down animation for debugging

    Written by

    in

    Slowing down animations in Flutter for debugging purposes can be helpful in observing their behavior more closely. There are a couple of ways to achieve this: Using timeDilation The library that is responsible for different scheduling is flutter/scheduler. This also includes animations. To use the library, simply import package:flutter/scheduler.dart – in this case, timeDilation is…

    Read more

  • Git: how to compare two branches

    Git: how to compare two branches

    Written by

    in

    Sometimes it’s necessary to get the difference between two branches. Git already provides a really powerful diff command which does exactly this: git diff is very powerful, as it not only compares two branches, it also allows multiple comparisons: Show changes between the working tree and the index or a tree, changes between the index…

    Read more

  • GitLab CI + Flutter: pub: command not found

    GitLab CI + Flutter: pub: command not found

    Written by

    in ,

    In one of my projects, I used a GitLab environment to perform Flutter tests. For this, I setup my .gitlab-ci.yaml to use a Flutter docker image of cirrusci/flutter for code quality check or tests. The file looks like this: Up to version 2.10.* of the Flutter docker image, this worked fine. But starting with version…

    Read more

  • Why does the iOS App Store show more languages than my app supports?

    Why does the iOS App Store show more languages than my app supports?

    Written by

    in

    By default, the languages of an app are listed in info.plist by setting the values for the properties list key CFBundleLocalizations. A definition as shown below should result in supported languages English and German. But when looking at the AppStore, the languages shown there do not always correlated with this setting. The reason is that…

    Read more

  • Build and Release a Flutter App

    Build and Release a Flutter App

    Written by

    in ,

    Updating the app’s version number To update the version number, navigate to the pubspec.yaml file and update the following line with the current version string: After the change, run: Build and release the iOS app A detailled description of the whole process is described at docs.flutter.dev. To release the iOS app, you use Flutter to build a…

    Read more

  • How to Run and Update Docker Images and Containers

    How to Run and Update Docker Images and Containers

    Written by

    in

    The following text shows the default workflow to run and update a Docker image based on the example of GitLab. But this should also work for other containers. Docker Installation First make sure that your local machine has Docker installed. I use Debian and for this, a detailed description is available in Dockers documentation. There…

    Read more

  • GitLab – ERROR: Registering runner… failed, certificate signed by unknown authority

    GitLab – ERROR: Registering runner… failed, certificate signed by unknown authority

    Written by

    in

    If your self-hosted GitLab server is using a self-signed certificate for https, it might be possible that you get an error during the registration of a GitLab Runner: To solve the problem, you have to provide the full chain certificate *.pem used by your GitLab Server: In my case, the valid certificate could be found…

    Read more

  • Flutter: rounded corners for images

    Flutter: rounded corners for images

    Written by

    in

    There are different possibilities to create a rounded corner of images: BoxDecoration To create a rounded corner image in Flutter, you can use the Container widget and set the decoration property to a BoxDecoration with a borderRadius that defines the rounded corners. Here’s an example: In this example, the width and height properties of the…

    Read more

  • Git: create empty commit to trigger an action

    Git: create empty commit to trigger an action

    Written by

    in

    Sometimes it’s necessary to trigger an action for CI/CD, e.g. when you use GitLab. To do this without any changes on the code base, you can create an empty commit. For this, git has a command:

    Read more

  • Adjust text color to be readable on light and dark backgrounds of user interfaces

    Adjust text color to be readable on light and dark backgrounds of user interfaces

    Written by

    in

    Most modern user interfaces are supporting different color schemes for day and night: the so called light and dark modes. Selecting a text color for each of those modes is not a big deal and it’s the way to go when designing the user interface. In some cases, the text color is driven by the…

    Read more

  • Xcode: how to disable an extension during app build

    Xcode: how to disable an extension during app build

    Written by

    in ,

    Sometimes the development version of an app includes multiple code e.g. an extension that should not be released yet. In this case, it’s possible to exclude the extension when building an app. This keeps all your code, but does not include the extension during the build phase. To achieve this, simply open the Build Phases…

    Read more

  • Quick Look plugins for software development

    Quick Look plugins for software development

    Written by

    in

    Quick Look already supports multiple file types. But there ist more – especially for software development. Here are some plugins that make Quick Look even better. Note: some of the plugins might not work instantly after brew install … when you are on macOS Catalina or later. In this case, it is possible to download…

    Read more

  • UX improvements: `enterkeyhint` to define action label for the keyboard of mobile devices

    UX improvements: `enterkeyhint` to define action label for the keyboard of mobile devices

    Written by

    in

    The enterkeyhint is a html attribute described in the HTML standard, which can be used to improve the context of action buttons of keyboards on mobile device. The enterkeyhint content attribute is an enumerated attribute that specifies what action label (or icon) to present for the enter key on virtual keyboards. This allows authors to customize the presentation of…

    Read more

  • Synology: How do I update an existing Docker container with a new image?

    Synology: How do I update an existing Docker container with a new image?

    Written by

    in

    As always: before you do such an update, make sure to create a backup of all your files. If something goes wrong, this may lead to data loss! Manual update To update an existing Docker container manually, the following steps are necessary; This will clear the complete container and start with the newly downloaded Docker…

    Read more

  • Android Studio: when shortcuts do not work on macOS

    Android Studio: when shortcuts do not work on macOS

    Written by

    in

    Compared to other IntelliJ® based software, some shortcuts in Android Studio did not work for me. For example cmd + shift + F, which should open the global search. But the global search did not show up. The reason for this is the keymap setting that was set to IntelliJ IDEA Classic. Setting the keymap…

    Read more