Build systems like
CMake
and
Meson
have specific syntax and variables to manage shared library creation and linking.
By default, CMake builds static libraries, but this can be changed by setting the
BUILD_SHARED_LIBS
variable to ON or by setting the
SHARED type option of the add_library() command.
To use C, C++, Fortran, etc. library binaries from Python, shared libraries are required to load the compiled code at runtime in Python.
Of course, the Python code must be configured to match the symbols in the shared library.
Meson builds shared libraries by default, but this can be changed by setting the default_library option to static in
project()
or by the shared_library() function.
Hugo content Markdown files cannot use Hugo variables directly.
The way to access variables (including
site parameters,
data sources,
and front matter) from content Markdown files is to use Hugo
shortcodes
or to use a custom template for those content pages.
However, areas inside
code fences
cannot use shortcodes.
What I wanted to do was make examples of code inside code fences used on several pages on my site update with a version number.
However, I don’t currently see a feasible way to do this with Hugo that wouldn’t be overly specific to the particular set of examples.
It’s OK, I wanted to note this limitation I ran into.
An alternative is to use find/replace across files like “sed” or the VSCode GUI.
Zello allows prompt voice push-to-talk group communications worldwide.
Zello provides
free access
for personal use.
The push-to-talk audio is shared simultaneously in a “channel” using internet-connected phones, tablets, computers and Zello WiFi walkie-talkies.
For those accessing Zello from a computer, the Zello Windows program works from Linux using WINE.
Zello requires an internet connection to work.
To use Zello from Linux:
Download
Zello
for Windows PC.
Install Zello with WINE:
wine ZelloDispatchSetup.exe
This creates a Zello icon to launch the Zello app in Linux.
Optionally, start Zello from the Terminal by making a script “zello.sh” like:
To run Linux programs on a Windows computer, normally Windows Subsystem from Linux (built into Windows by Microsoft) is generally the best / most performant way to run most Linux programs, especially programs relevant to data processing and geospace science in general.
The macOS network interface priority order determines which network interface (like WiFi, Ethernet, etc.) the system uses first when multiple interfaces are available.
Set this priority order through the
System Preferences
or via the
command line:
The
setup-wsl GitHub Action
configures WSLv2 environment in Windows GitHub Actions runners.
This allows testing certain quirks and corner cases one might encounter when running software on Windows Subsystem for Linux.
For scientific computing Windows users, WSL is often the best way to run computational software on Windows, including software using performance code for GPU and MPI.
An example WSL workflow that is more
advanced
illustrates how to use the wSL filesystem and that $GITHUB_ENV is not available, but env: parameters are.
Native
virtualization
has a “guest” OS with the same CPU architecture as the “host” physical CPU.
Non-native emulation generally runs slower than native virtualization.
Non-native virtualization means a host computer (such as Apple Silicon) can emulate any supported CPU architecture.
Apple Silicon is ARM64, but with virtualization such as UTM / QEMU the Apple Silicon CPU can emulate ARM32, x86_64, MIPS, RISC-V, PowerPC, and more within the container.
QEMU emulator is available on
Homebrew for Apple Silicon
and can (slowly) emulate a different CPU architecture or run native architecture at nearly full performance.
UTM
is a containerized emulation based off of QEMU for iOS and macOS–like QEMU, the same CPU architecture is virtualized at near full performance, while non-native virtualization is emulated with slower performance.
When creating a new virtual machine in UTM, the first questions include whether the VM will be virtualized (native) or emulated (non-native) and the CPU architecture.
UTM works with native virtualized Windows for ARM, Linux, and emulates many architectures, even old PowerPC macOS guest images.
VirtualBox is an open-source native virtualization application that generally targets x86_64 CPUs.
VirtualBox for Apple Silicon is
available.
Commercial paid Apple Silicon virtualization: these native virtualization applications are not open-source.
They run native virtual machines on Apple Silicon including Windows for ARM.
Parallels is paid-only software
VMWare Fusion is paid software, but has a no-cost personal-use license for home users.
The USA and Canada permitted FM frequency modulation, optionally with CTCSS and DCS, on 27 MHz CB radio in September 2021.
This allows FM operation on the same 40 channels as AM CB radio at 4 watts maximum transmit power.
Observations by USA users including the author is that FM is heard mostly in the range of CB radio channels 23 to 31.
Any CB radio channel can be used with FM mode, the same as AM or SSB modes.
A rise in FM activity over time is also expected on the
President P channels
that are preprogrammed FM standard CB radio channels with
CTCSS / DCS squelch.
Several countries have created an 8 meter ham band near 40 MHz.
The USA FCC has a proposed rulemaking
RM-11843
to create an 8 meter ham band in the USA.
A key conflicting user SNOTEL, which used meteorburst communications to connect very remote sites, has
ceased use
of the 40 MHz band.
As
commenters
indicate, a rich surplus equipment market exists of military surplus radios and commercial equipment that can be used on the 8 meter ham band.
Proposed bandplans allocate FM, CW, and digital modes.
This 8 meter band proposal stands in contrast to the 2014 proposal to make a 4m 70 MHz allocation as exists in numerous other countries around the world.
The FCC
summarily dismissed
the 4m proposal due to incumbent TV channel 4 users.
Use
this link
to query the FCC TV database for channel 4 users.
For example, in 2025 there were about 10 full-power DTV licensees (including newly coming on air) across the USA on TV channel 4, an increase from 2014 licensees.
Since other countries have
allocations
close to 70 MHz, the best option for USA ham in the 4m band may be to co-exist in the 72-76 MHz
band,
perhaps in-between the existing 20 kHz spaced channels.
Since typical 4m radios cover 66 MHz - 88 MHz, for international DX, USA hams could receive on 70 MHz and transmit on 72-76 MHz channels.
This would be akin to operations for international DX for USA hams in the 60 meter channelized band.