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? 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
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
-
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
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
-
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>: CUDART: cudaGetDeviceCount(&deviceCount);…
-
brew: install Java on macOS
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…
-
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
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…
-
Xcode fails to generate source files from intent definition files when using the Legacy Build System
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
-
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: CC=/path/to/icc cmake ..…
-
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 hizuzufü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: OK/[Do it]/Ja [Don’t do it]/Nein Abbrechen Annehmen (wenn vorhanden) Hilfe (wenn vorhanden) Abbrechen ist immer rechts vom…
-
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…
-
Turbo Modus der CPU unter Linux an- und ausschalten
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…
-
VIM: Zeichen durch Zeilenumbruch ersetzten
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/