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.

  • How to enter ASCII control characters with your keyboard

    How to enter ASCII control characters with your keyboard

    Written 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

    Written by

    in

    To print a test page on a Mac, follow these steps: Please note that the specific steps may vary slightly depending on your macOS version. Foto von Andras Vas auf Unsplash

    Read more

  • ESP32: Stack canary watchpoint triggered (loopTask)

    ESP32: Stack canary watchpoint triggered (loopTask)

    Written 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

    Written by

    in

    You can’t ping ports, as Ping is using ICMP which doesn’t have the concept of ports. Ports belong to the transport layer protocols like TCP and UDP. However, you could use nmap to see whether ports are open or not: The output will look like this: Source: https://serverfault.com/questions/309357/ping-a-specific-port

    Read more

  • CUDART Error in Singularity Container Workaround

    Written 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>: CUDART: cudaGetDeviceCount(&deviceCount);…

    Read more

  • brew: install Java on macOS

    brew: install Java on macOS

    Written by

    in ,

    The following steps will guide you through the installation of Java on macOS. First, check the available Java related formulas: Currently, there are two different version of Java: java and java11. To check the version of both, you can use the following commands: Depending on your requirements, you can install one of the above. For…

    Read more

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

    Written 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

    Written by

    in ,

    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 for longer than 13 months (397 days), see https://stackoverflow.com/a/65239775. If this time is too long, you will receive…

    Read more

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

    Written by

    in

    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. Source: https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_release_notes

    Read more

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

    Written 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: CC=/path/to/icc cmake ..…

    Read more

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

    Written 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

    Written 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

    Written by

    in ,

    Die einfachste Möglichkeit einen Wert zu einer hexadezimalen Zahl wie bspw. einen Teil einer MAC-Adresse auf der Konsole hizuzufügen ist die printf Funktion:

    Read more

  • VI oder VIM beenden

    Written 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

    Written 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

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

    Written 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: OK/[Do it]/Ja [Don’t do it]/Nein Abbrechen Annehmen (wenn vorhanden) Hilfe (wenn vorhanden) Abbrechen ist immer rechts vom…

    Read more

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

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

    Read more

  • Turbo Modus der CPU unter Linux an- und ausschalten

    Written 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: echo “1” > /sys/devices/system/cpu/intel_pstate/no_turbo Und mit diesem Befehl wieder anschalten: echo “0” > /sys/devices/system/cpu/intel_pstate/no_turbo Dies hilft beim Energiesparen und verlängert die Akkulaufzeit…

    Read more

  • VIM: Zeichen durch Zeilenumbruch ersetzten

    Written by

    in ,

    Um in VI(M) Zeichen(ketten) bzw. Strings durch Zeilenumbrüche zu ersetzten, folgendes Kommando nutzen: :%s/Zeichenkette/\r/g Um andersherum einen Zeilenumbruch durch eine Zeichenkette zu ersetzten muss “\n” genutzt werden: :%s/\n/Zeichenkette/

    Read more