Category: Software Development
Software development is the process of creating, designing, implementing, and maintaining software applications or systems. The process follows a method of coding, testing and releasing software to fulfill user needs and address issues.
-
Android Studio Ladybug: Your project’s Gradle version is incompatible with the Java version that Flutter is using for Gradle.
I have a Flutter app and I use Android Studio for development. Recently, Android Studio updated to the lastest version Android Studio Ladybug | 2024.2.1 Patch 2. After this update, I didn’t see any problems during the app development. But when it comes to the app build using flutter build appbundle, I got the following…
-
Xcode Simulator: Unable to boot the Simulator
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…
-
Performance improvements for GitLab on servers with limited resources
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, you can follow the GitLab documentation which provides some useful settings. A detailed description is available at docs.gitlab.com.…
-
Install and update GitLab Runner
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…
-
Docker: how to build and push a Git repository to Docker Hub
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…
-
Flutter: How to remove the debug banner during development
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…
-
Flutter: slowing down animation for debugging
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…
-
Git: how to compare two branches
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…
-
GitLab CI + Flutter: pub: command not found
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…
-
Why does the iOS App Store show more languages than my app supports?
By default, the languages of an app are set in info.plist by using the values for the properties list key CFBundleLocalizations. A definition as shown below should result in the 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…
-
Build and Release a Flutter App
This is a short description of the build and release workflow of a Flutter app. 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…
-
How to Run and Update Docker Images and Containers
The following post 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…
-
GitLab – ERROR: Registering runner… failed, certificate signed by unknown authority
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…
-
Flutter: rounded corners for images
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…
-
Git: create empty commit to trigger an action
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: This is also described in the Git documentation: –allow-emptyUsually recording a commit that has the exact same tree as…
-
Adjust text color to be readable on light and dark backgrounds of user interfaces
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…
-
Xcode: how to disable an extension during app build
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…
-
Quick Look plugins for software development
Quick Look is a quick preview feature developed by Apple for macOS. Quick Look allows users to look at the contents of a file at full or near-full size in the Finder. It can preview files of different file types without even open the file in the related app. Quick Look already supports multiple file…
-
UX improvements: `enterkeyhint` to define action label for the keyboard of mobile devices
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 devices. 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 the…
-
Synology: How do I update an existing Docker container with a new image?
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…