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.

  • Linux: display user account information

    Linux: display user account information

    By

    in

    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…

    Read more

  • How to enter ASCII control characters with your keyboard

    How to enter ASCII control characters with your keyboard

    By

    in

    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…

    Read more

  • macOS: how to print a test page

    macOS: how to print a test page

    By

    in

    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,…

    Read more

  • ESP32: Stack canary watchpoint triggered (loopTask)

    ESP32: Stack canary watchpoint triggered (loopTask)

    By

    in ,

    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

    Read more

  • Ping server on a specific port

    Ping server on a specific port

    By

    in

    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.…

    Read more

  • CUDART Error in Singularity Container Workaround

    By

    in ,

    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…

    Read more

  • brew: install Java on macOS

    brew: install Java on macOS

    By

    in ,

    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…

    Read more

  • Finding the NUMA Node of a Nvidia CUDA GPU in Linux

    By

    in

    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…

    Read more

  • Create certificate for localhost domains on macOS

    Create certificate for localhost domains on macOS

    By

    in ,

    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…

    Read more

  • Xcode fails to generate source files from intent definition files when using the Legacy Build System

    By

    in

    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.…

    Read more

  • How to set C, C++ or Fortran compiler for CMake

    By

    in ,

    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…

    Read more

  • SPACK and Intel Parallel Studio: “error while loading shared libraries: libimf.so”

    By

    in

    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…

    Read more

  • Terminal: Größe eines Verzeichnisses ausgeben

    By

    in

    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…

    Read more

  • BASH Shell: Einen Wert zu einer hexadezimalen Zahl hinzuaddieren

    By

    in ,

    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:

    Read more

  • VI oder VIM beenden

    By

    in

    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…

    Read more

  • 13 wichtige Dinge, die Deine nächste mobile App enthalten sollte

    13 wichtige Dinge, die Deine nächste mobile App enthalten sollte

    By

    in ,

    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?…

    Read more

  • SLURM: Remove Dependency of a Queued Job

    By

    in

    To remove the dependency of a queued job in SLURM, use the scontrol command:

    Read more

  • Buttons in Dialogen: Ok und Abbrechen – rechts oder links?

    Buttons in Dialogen: Ok und Abbrechen – rechts oder links?

    By

    in

    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…

    Read more

  • NVIDIA CUDA on Ubuntu: unsupported GNU version! gcc versions later than 5 are not supported!

    By

    in

    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…

    Read more

  • Turbo Modus der CPU unter Linux an- und ausschalten

    By

    in

    Wenn die Frequenzen der CPU über den “intel_pstate” Treiber¹ gesteuert werden und der Turbo Modus im BIOS angeschaltet ist, kann man den Turbomodus für alle CPUs / Cores mit dem folgenden Befehl ausschalten: Und mit diesem Befehl wieder anschalten: Dies hilft beim Energiesparen und verlängert die Akkulaufzeit von Notebooks. ¹ Dies ist der Fall, wenn…

    Read more