Git submodules don’t put their individual Git config file under .git/config.
This Git command issued from the Git submodule directory tells the file path to the Git submodule config file:
git rev-parse --git-path config
Say a repository “alpha” has submodule “beta”.
Find the Git config file location of “beta” from “alpha” like:
NEXRAD preview PNGs are 12200 x 5400 pixels:
example
This takes over 650 MB of RAM to load each frame.
ImageMagick
-limit
option can be used to limit the amount of RAM and/or disk used by ImageMagick operations.
For example, if processing images on an embedded systems like a Raspberry Pi, the limited RAM may lead to disk swapping, taking 1000x longer or failing anyway.
Use combinations of -limit options to control RAM and disk usage.
By design, CTest
WILL_FAIL
test property
does not handle
segmentation faults and other unexpected terminations.
That is, a failing test will also show as failed in CTest, when the desire may have been to show an intended failure as success via WILL_FAIL.
A simple workaround for this is to make a wrapper call for the intentionally segfaulting executable and catch that result, as in
example project.
Visual Studio Code “vscode” can compare folders via vscode extension
Compare Folders.
In Unix-like shells, an alias can be used to ease command line use:
alias vsdiff="COMPARE_FOLDERS=DIFF code"
Then, to compare two folders, use:
vsdiff folder1 folder2
vsdiff allows applying changes from the left to the right.
To “swap sides” click the left-right arrow in the top right corner.
The
Apple Studio Display
is desigend for macOS brightness controls.
A Linux or Windows computer has the brightness locked at the last setting.
If the Studio Display power is reset, the brightness defaults to maximum.
Small open-source programs allow Linux and Windows computers to adjust the brightness of the Apple Studio Display.
studio-brightness.exe,
is a C++ program downloaded from the Releases, or the program can be built from source.
The keyboard uses the HID interface to adjust the brightness of the Apple Studio Display from Windows.
Git
submodules
can switch remotes.
This is useful when making a pull request for a project that relies on another pull request submodule.
Verify the change in the top project’s “.gitmodules” file.
Example: suppose the directory “subdir” is a Git submodule.
In this command, do not put “./subdir” or “subdir/”, just “subdir” by itself.
Suppose you also wish to change the branch to “feat1” in the submodule.
Whether using Clang / LLVM or Homebrew GNU GCC compiler, GNU ld is not supported on macOS.
Only the Apple macOS
Xcode ld is supported.
The
ld linker
in Xcode 15 breaks numerous projects, including OpenMPI < 4.1.6.
The workaround is to use the classic linker, which is still supported in Xcode 15.
Set in ~/.zshrc
export LDFLAGS="$LDFLAGS -Wl,-ld_classic"
or specify on the program command line like:
LDFLAGS="$LDFLAGS -Wl,-ld_classic" make
Note that for CMake, LDFLAGS environment variable is read only on the first CMake configure and cached.
For certain use cases, it’s feasible to run a Bash script from within Windows using Windows Subsystem for Linux (WSL).
Another way to run Bash scripts from within Windows itself without WSL is the Bash shell installed with Git on Windows.
Start the Bash script you want to run from Linux or Windows with the shebang (first line of Bash script file):
#!/bin/bash; C:/Program\ Files/Git/git-bash.exe
This tells the shell (Linux or Windows) to first try /bin/bash which is a Unix-like path, and then try the Git Bash shell on Windows.
If Python is on Windows Path, one can use Bash scripts that invoke Python scripts.