The Eton Elite Executive is the latest iteration of a fine entry-level SSB-enabled shortwave receiver.
Others have noted its positive aspects that I generally agree with.
Here are a few downsides and limitations.
No computer connection. 700 memories, but they are manually entered.
Airband (118-136 MHz) suffers from overloading from FM broadcast (100 MHz). Manifests as broadband white noise and scratchy distorted voice-like sounds up to full-scale strength covering nearly all airband transmission. This happens when within a couple miles of an FM broadcast station.
The synchronous AM has a too-short time constant on tracking the carrier frequency. Music or tones like WWV break the frequency sync and sound wobbly.
backlight stays on in battery mode. This consumes a lot of battery if you forget to shut it off overnight. If you plug the radio in but have a master bench power shutoff, either remove the batteries or turn off the backlight.
several second delay when switching from AM to SSB or sync AM.
Some benefits:
The SSB receive has good audio quality for voice communications.
The selectable bandwidth generally works well. 3 kHz, 4kHz and 6 kHz are commonly used on AM, with narrower bandwidths available.
MW (530-1700 kHz) sensitivity is good, along with FM (100 MHz).
longwave NDB beacon sensitivity also seems good. Longwave uses the internal coil bar antenna like MW.
An external wire antenna (even if just clipped to the extendable antenna) makes a great improvement in many cases for shortwave.
The power adapter usually doesn’t cause interference. If you get a hum try running on battery instead to see if conducted or ground loop interference.
In general as with any shortwave radio, if there is too much noise, try turning off as many lights and unplugging as many items from wall mains power as possible. Then plug in / turn on one by one. When the noise is heard, take the radio around and see if the noise increases when near an offending object.
Unix-like OS users are often familiar with using shell
command substition.
PowerShell
command substitution
works similarly.
On any of these systems, command substitution works by enclosing the first command in “$()” like:
echo$(whoami)
To use additional strings adjacent to the command output, like when wanting to change directory relative to command output, enclose in quotes like:
The Unix
time
command measures the elapsed time between the start and end of a command.
For Windows PowerShell, command execution time is measured by
Measure-Command.
Measure-Command { ls }
Measure-Command { ping localhost }
Windows Subsystem for Linux can mount SD card, USB thumb flash drives, CD / DVD drives (CDFS), network drives, and UNC paths via
“wsl –mount”.
WSL can mount disk formats FAT, ExFAT or NTFS and VHD images.
For Windows 10 or those not desiring to use “wsl –mount” to mount external drives, the following can be used instead.
If Windows changes the external drive letter on a subsequent session, you need to repeat this process.
These commands are typed into the Windows Subsystem for Linux Terminal.
Create a mount location in WSL and mount the drive (assume the drive shows in Windows as “F:”):
mkdir /mnt/f
mount -t drvfs f: /mnt/f
One can then create and manipulate files from both Windows and WSL on the same external drive.
For network storage, assume networked storage is already showing in Windows under \\server\share and we want to access this network storage from WSL as /mnt/share.
Create a mount location in WSL and mount the network share:
mkdir /mnt/share
mount -t drvfs '\\server\share' /mnt/share
For projects used by a range of users who may or may not know to set a default build type, and where the developers want to ensure users are normally getting the full performance of a Release build, use
GENERATOR_IS_MULTI_CONFIG:
get_property(gen_multiGLOBALPROPERTYGENERATOR_IS_MULTI_CONFIG)if(NOTgen_multiANDNOT (CMAKE_BUILD_TYPEORDEFINEDENV{CMAKE_BUILD_TYPE}))set(CMAKE_BUILD_TYPEReleaseCACHESTRING"Release can have faster run time than Debug")endif()
It’s helpful to see how CMake FetchContent works by example, which we have provided for
MUMPS.
This example uses FetchContent to retrieve and
build MUMPS via CMake superbuild
scripts, which itself retrieves MUMPS source code from the authors’ website via FetchContent.
OpenMPI
MCA parameters
can be set in several ways.
Some MCA parameters configure hardware, while other configure warnings.
Depending on whether the parameters need to be per-user, per-hardware, etc. it may be useful to set some in a file, and others in the environment variables, and still others on the command line.
OpenMPI looks for a file at ~/.openmpi/mca-params.conf to set MCA parameters.
The environment variables have a higher priority, and the command line has the highest priority as is intuitive.
The mca-params.conf syntax is like:
btl_openib_warn_no_device_params_found = 0
The environment variables would be set in ~/.profile like:
Trackballs declutter busy desks and can be more comfortable than mice for precision pointing.
Logitech trackballs also support Linux, paired and configured via
Solaar.
Every few months pop out the trackball and clean the rollers or just blow on them to get the dust out.
Whatever mouse or trackball one buys, be sure to get one that work via Bluetooth Low Energy (BLE) or the Unifying receiver.
The main observed differences of using BLE is slightly shorter battery life and a slight initial lag if the buttons/roller haven’t been used for several seconds.
The advantage of BLE is avoiding damage to the laptop USB port with the dongle while handling the laptop.
The Logitech trackballs below have a user-maintainable trackball with back/forward buttons and clickable roller for programming and web-browsing convenience.
These trackballs support BLE and Unifying receiver.
Logitech MX Ergo: a higher-end trackball with two-position tilt for comfort. The Ergo has a button to switch between two Bluetooth devices e.g. laptop, phone, etc.
Logitech M575: fixed tilt, no device switching button
include(CheckSourceCompiles)set(CMAKE_TRY_COMPILE_TARGET_TYPESTATIC_LIBRARY)# save link time, only compile is needed
check_source_compiles(Fortran"program test
implicit none
intrinsic :: random_init
call random_init(.false., .false.)
end"f18random)
Older versions of gfortran call random_seed() gives a unique seed.
Not every compiler vendor gives a unique seed for random_seed() however.