Category: Operating Systems
This category contains all topics that are linked to your operating system. This includes tweaks and solutions for issues as well as performance and usability improvements.
-
Securing NVMe SSD Drives: Understanding SE, ISE, and TCG OPAL Protocols for Data Protection
When it comes to data protection for NVMe drives, security protocols like SE (Self-Encryption), ISE (Instant Secure Erase), and TCG OPAL are frequently discussed. Each of these approaches offers distinct mechanisms and advantages in securing sensitive data on NVMe drives, especially for enterprise and data center environments. Self-Encryption (SE) Self-encrypting drives (SEDs) incorporate built-in hardware…
-
Linux: display user account information
When dealing with Linux systems and user administration, it might be necessary to get information about user accounts on the system. There are multiple ways to get such information. This post summarizes some possibilities. lslogins Command – list users and groups The lslogins command gives you an overview of users and groups, not only regarding their account…
-
How to enter ASCII control characters with your keyboard
How to enter ASCII control characters? Entering ASCII control characters depends on the specific keyboard layout and operating system you are using. Here’s a general guide for Linux, Windows, and macOS: Linux In most Linux terminals, you can enter ASCII control characters using the keys Ctrl + Shift + u in combination with a letter…
-
macOS: how to print a test page
Printing software of printer manufacturers sometimes provides the possibility to print a test page. This is useful to test if printer works as expected and if all colors are correctly printed. If you are on macOS, this can be done with tools already included in the system. To print a test page on a macOS,…
-
ESP32: Stack canary watchpoint triggered (loopTask)
Recently, I stumble upon the following error on an ESP32: The reason for this was an infinite loop that was caused by two methods that where called from each other. So the execution of the first method never ended. The code looked something like this (extremly simplified): Foto von Vishnu Mohanan auf Unsplash
-
Ping server on a specific port
The ping command is used to check if the source computer can reach a specific destination computer. It’s a simple way to verify that a computer can communicate with another computer or network device. The only drawback is that you can’t ping on specific ports, as Ping is using ICMP which doesn’t have the concept of ports.…
-
CUDART Error in Singularity Container Workaround
Singularity is a Linux container system similar (and compatible to) Docker. It’s advantage over Docker is that is was designed to allow users without superuser privileges to run containers within their environment. I recently encountered the following error when running a Nvidia CUDA application within a Singularity container using “singularity run -nv <container>: Workaround: After…
-
brew: install Java on macOS
HomeBrew (brew) is a package manager to install software on macOS or Linux. Beside other packages, it’s possible to install Java on your system. The following steps will guide you through the installation. First, check the available Java related formulas: Currently, there are two different version of Java: java and java11. To check the version…
-
Finding the NUMA Node of a Nvidia CUDA GPU in Linux
For some applications it might be useful to pin their CPU processes to the NUMA node which is connected to the GPU. To find out which GPU is located at which NUMA node one can use the following script: Pinning the CPU process to the right NUMA node can speed up your application significantly on…
-
Create certificate for localhost domains on macOS
The following steps describes how to create a certificate for localhost domains for a local webserver on macOS. Step 1: create a self-signed root certificate First, let’s create a self-signed root certificate: The parameter -days 390 sets the number of days, this certificate is valid. Starting on September 1st (2020), SSL/TLS certificates cannot be issued…
-
Xcode fails to generate source files from intent definition files when using the Legacy Build System
When running a Xcode build, I got the following error: The workaround for this problem is the following: First, add a Run Script phase before the Compile Sources phase of your target: Then, add all of the generated files from the output path specified in the command above to all required targets in your project.…
-
How to set C, C++ or Fortran compiler for CMake
To use a different compiler (e.g. Intel Compiler, CLANG or PGI) or a different version then CMake uses by default, one can either set environment variables or modify the CMakeLists.txt file. CMake evaluates the environment variables CC for the C compiler, CXX for the C++ compiler and FC for the Fortran compiler: For a more…
-
SPACK and Intel Parallel Studio: “error while loading shared libraries: libimf.so”
Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, and all of these builds can coexist on the same machine. However, when using the Intel Compiler as compiler, I got the following error for…
-
Terminal: Größe eines Verzeichnisses ausgeben
Um die Größe eines Verzeichnisses unter macOS im Terminal auszugeben, kann man den Befehl du verwenden. Hier ist ein Beispiel, wie man die Größe eines Verzeichnisses ausgeben lässt: Das -s-Option gibt die zusammengefasste Größe aller Unterverzeichnisse aus, während das -h-Option die Größe in einer lesbaren Form (z.B. KB, MB, GB) ausgibt. Oder ein Beispiel für…
-
BASH Shell: Einen Wert zu einer hexadezimalen Zahl hinzuaddieren
Die einfachste Möglichkeit einen Wert zu einer hexadezimalen Zahl wie bspw. einen Teil einer MAC-Adresse auf der Konsole hinzuzufügen ist die printf Funktion:
-
VI oder VIM beenden
Der VI Editor wird bei vielen Linux und Unix Installationen und Tools (wie bspw. git) standardmäßig genutzt. Doch wie kann ich diesen beenden? Um diesen zu beenden muss man mit der “ESC”-Taste in den Kommandomodus wechseln (am besten mehrfach drücken um ggf. schon eingegeben Kommandos abzubrechen). Und dort dann eingeben und Enter drücken.Dies beendet VIM…
-
13 wichtige Dinge, die Deine nächste mobile App enthalten sollte
Es gibt viele Dinge, die eine gute App ausmachen. Hier ein paar Gedankenstützen, die bei der Umsetzung einer App helfen können: Feedback System (E-Mail oder Feedback-Formular) Fokussiere auf Benutzerfreundlichkeit Personalisierung (Einstellungen für Datenschutz, Schriftarten/Farben/Größen) Halte die App einfach und implementiere nur die Basisfunktionen Denke daran: es ist nur ein Telefon Wenn Anmeldung, dann auch über Social Media?…
-
SLURM: Remove Dependency of a Queued Job
To remove the dependency of a queued job in SLURM, use the scontrol command:
-
Buttons in Dialogen: Ok und Abbrechen – rechts oder links?
Die Anordnung von Buttons ist meist abhängig vom Betriebssystem, diese Information sollte daher aus den entsprechenden User Interface Guidelines entnommen werden. Hier eine kurze Zusammenfassung: Windows Buttons sollten nach ihrer Aktion in folgender Reihenfolge (von links nach rechts) platziert werden: Abbrechen ist immer rechts vom Ok-Button. MacOS Ein Button der eine Aktion ausführt sollte am…
-
NVIDIA CUDA on Ubuntu: unsupported GNU version! gcc versions later than 5 are not supported!
After installing CUDA on Ubuntu, compiling CUDA applications with nvcc results in an error similar to this: In file included from /usr/local/cuda-8.0/bin/../targets/x86_64-linux/include/cuda_runtime.h:78:0,from <command-line>:0:/usr/local/cuda-8.0/bin/../targets/x86_64-linux/include/host_config.h:119:2: error: #error — unsupported GNU version! gcc versions later than 5 are not supported!#error — unsupported GNU version! gcc versions later than 5 are not supported!^~~~~}}} Ubuntu comes with a more up-to-date…