Scientific Computing

Anker Soundcore Life P2 earbuds

The Anker Soundcore Life P2 has excellent sound quality. For use with more than one device, consider instead earbuds that have multipoint Bluetooth (the Soundcore Life P2 earbuds do not have multipoint). The FCC ID is “2AOKB-A3919RT”.

In general for Bluetooth earbuds of any brand, it’s best to carry the charging container with you to protect and charge the earbuds when not in use. You may need to manually select “headset” or “stereo” mode in your operating system. Windows for example allows per-app defaults, or switch by clicking on Windows toolbar speaker icon.

The “pros” or upsides of these earbuds:

  • Excellent stereo sound quality including aptX
  • Works well with single earbud (left or right) and auto-enables stereo if 2nd earbud turned on (or mono if 2nd earbud turned off).
  • four microphones (two per ear) give excellent quality on two-way audio e.g. videoconferencing
  • holds in ear well with several earmold sizes–comfortable used several hours per day
  • USB-C charging jack on container, which fits well in pocket

The “cons” or downsides of these earbuds include negative characteristics that are serious enough to consider buying a different model earbud.

  • no multipoint Bluetooth–switching devices effectively requires repairing each time.
  • flashing status light annoyingly bright, particularly at night. They are like a “mug me” beacon if walking outside at night.

Re-pair both earbuds

Sometimes the earbuds lose sync with each other, so that they only function individually not as a stereo pair. The procedure for resetting / recovering stereo sync is from Soundcore support:

  • “Forget” the pairing with both Soundcore earbuds on your device
  • Place the earbuds into the charging case and ensure they are being charged (white light steady)
  • Press and hold the button on both earbuds for 3 seconds. The LED indicators will flash red 3 times and then turn white briefly. Release the buttons when the light turns white.

Now wait for about a minute.

  • Take both earbuds out of the charging case, and lay them where you can see each earbuds’ light.
  • after a few seconds, the white light on one (usually right) earbud will flash quickly, which means it enters pairing mode.
  • On the phone, add device named “Soundcore” or “Soundcore-L” on the Bluetooth list. The white light will flash slowly, which means it paired successfully.
  • A few seconds later, there will pop out a screen with “Bluetooth Pairing Request”, just click “Pair” (this step is very important)

In the bluetooth pairing list the Soundcore is displayed as “connected”, and the Soundcore-L is displayed as “not connected”. In fact, the earbuds are normally TWS paired to work

Eton Elite Executive review

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.

PowerShell command substitution

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:

cd "$(my_command)/rel/to/"

WSL mount external and network drives

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

Reference: external drive mount on WSL

CMake build type default

The default CMAKE_BUILD_TYPE is often desired to be set to Release. CMake environment variable CMAKE_BUILD_TYPE can be a convenient user default.

On Unix-like systems, add to file ~/.profile or ~/.zprofile:

export CMAKE_BUILD_TYPE=Release
  • Windows, set CMAKE_BUILD_TYPE=Release via the user environment variable GUI.

We also generally recommend setting the default CMake generator.


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_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(NOT gen_multi AND NOT (CMAKE_BUILD_TYPE OR DEFINED ENV{CMAKE_BUILD_TYPE}))
  set(CMAKE_BUILD_TYPE Release CACHE STRING "Release can have faster run time than Debug")
endif()

Set OpenMPI MCA parameters

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:

export UCX_TLS=ud,sm,self