Michael Hirsch, Ph.D.

View Blog by Category/Tag
Note: Use Ctrl F or Command F to search for text on this page.


WSJT-X on Ubuntu

How to operate JT65/JT9/FT8/WSPR powerful weak-signal modes on Linux. Operating strategies described.

Travis CI examples

Quick examples of Travis-CI – a system that runs your self-test on each git push. It can save you from hard to find bugs later.

USA 2G cellular shutdown

Possible 2G GSM shutdown impacts vis cheap replacement 4G modems. US 2G shutdown targeted for 2019.

Echolink on Android

Echolink works robustly on Android for those times you forgot to bring your radio.

RTL2832 ADS-B decoder

How to decode/log/display ADS-B aircraft transponder data with $20 RTL2832 USB receiver & Raspberry Pi.

Zenodo data upload speed

My uploads of large datasets to Zenodo (or other such sites) are often restricted by upload speed.

Bluetooth speaker with FM radio

I consider having an FM radio in a Bluetooth speaker essential, as well as having SD card and 3.5mm input. The Simpowel V8 fulfills these needs for under $40.

Switching from Uber to Lyft

Whether for recent/previous/ongoing scandals or for philosophical or economic reasons, ridesharing passengers have been switching from Uber to Lyft. Here’s a...

Fortran gdb/gdb-ia Debugging

How to debug Fortran code for one accustomed to Matlab/Python debugging. Cheat sheet for gdb or Intel gdb-ia debuggers.

Bluetooth Sound on Linux

Quick setup Bluetooth sound (speaker) on Linux PCs and embedded single-board computers, including the Intel Edison.

Loading WSPR raw audio data

WSPR raw data in the form of audio files is highly useful for radio science analysis. Here’s how to load these files into Python.

Cygwin on Windows 10

Cygwin compliments Windows Subsystem for Linux capabilities. A key Cygwin advantage over WSL is the ability to run as a service.

Overleaf with Github

Use Github with Overleaf, as Overleaf corrupted my document but with Git I could recover it post facto. Using Git a priori stops such corruption.

Tetris on Fortran using Ncurses

Legacy plotting/graphics libraries exist for Fortran, but why not exploit C libraries while doing the work in Fortran? Result is TETRAN game.

Convert RIS to Bibtex

How to convert RIS citations to .bib BibTeX/LaTeX format quickly. Also how to create PDF from .bib

Force apt to IPv4

Sometimes a remote host or your ISP is temporarily misconfigured with regard to IPv6. You can force apt to use IPv4 as follows.

Why use h5py context manager?

Using an h5py context manager helps avoid exceeding ulimit errors from too many open files. Example Python file I/O context manager, including with h5py.

Student/hobbyist-built radar projects

Particularly with software-defined-radio, it has become feasible for electronics enthusiasts and engineering students to build their own radar. Here are a fe...

Numpy N-D rot90 flip

Numpy 1.12 adds pathlib support throughout, and upgrades rot90 and flip to handle N-D arrays–big improvement.

How to install VisPy OpenGL for Python

VisPy uses PyOpenGL for beautiful, fast 3-D and 2-D plotting from Python and Numpy arrays. Here’s an easy way to setup VisPy–you don’t need a discrete GPU.

HF Radar spectrum sharing

The thought of FMCW or DSSS radars operating at HF might initially seem frightening, but such radars are sharing HF in increasing numbers.

How to install Glumpy OpenGL for Python

Glumpy uses PyOpenGL for beautiful, fast 3-D and 2-D plotting from Python and Numpy arrays. Here’s an easy way to setup Glumpy–you don’t need a discrete GPU.

Convert PDF to SVG

DraftSight 2-D CAD actually outputs PDF even when EPS is selected. Convert PDF to SVG vector graphics for high resolution diagram on a webpage without downlo...

Switch from IDL to Python

Python is a high performance language for data analytics tasks common to science and engineering. Simple guide to transition from IDL to Python with examples.

LG-W200A Urbane LTE Technical Review

First impressions of the LG Urbane Second Edition LTE smartwatch are highly favorable–let’s take a technical look at smartwatch RF performance.

Project Fi technical aspects

Project Fi uses three LTE carriers plus VPN WiFi. Here are some practical details on how the Project Fi aggregating MVNO works.

Install PMTK3 in Matlab / GNU Octave

The PMTK3 library of libraries for machine learning brings together classic Bayesian methods with MCMC and others. Here’s how to install PMTK3 for Matlab and...

Compile Matlab code to run on any PC

How to compile Matlab code to an executable, so that Matlab isn’t needed to run the .m file. The free Matlab Compiler Runtime is needed on the non-Matlab PC.

Uber Pool walk to pickup Boston

Uber Pool in Boston is starting to require walk to easier pickup locations. Previously Uber Pool suggested better pickup areas.

Survey of 4G LTE Ethernet routers

Geoscience observatories in remote corners of the Earth need connectivity. We have LTE connectivity in many areas despite their remoteness, here are some rou...


Completely undo errant git remote push

For any Git remote repo (e.g. Github/Gitlab), you can undo (delete from git history) the last or previous pushes to eliminate huge/numerous/wrong files pushed.

Disable text wrapping in nano

In Cygwin, nano default is to word wrap, breaking configuration files and Python scripts. One-line easy to disable described within.

Aspell user dictionary location

The aspell program is used by many software packages as a spellchecker. Here’s how to find the user dictionary file location.

SoundBot Bluetooth headphones

Detailed review of Soundbot SB240 and SB220 Bluetooth headphones–noting some problems with modern Bluetooth source devices.

Android Wear autonomous via Wifi/LTE

How to use Android Wear smartwatches semi-autonomously with non-Android, non-iOS devices. For example Android Wear with BB10 or Windows Mobile device.

How Paging Coasters work

Technical explanation of paging coasters in the 27 MHz and UHF bands, including antennas and interference.


Societal Engineer’s e-Bookshelf

Periodically updated links to eBooks relevant to computer engineers and other STEM fields, particularly with relation to education, humanitarian and public s...

Matlab R2015b works on Ubuntu 15.10

Although not specifically recommended by the Mathworks, at least initially, Matlab R2015b starts and does basic stuff including plotting and mex’ing a basic ...

People Who Scale

Blog series on people who scale in business and life, helping pick the most robust and reliable business partners.



Quote of the Day

Some think the Earth is spherical, others that it is flat and drum-shaped.

AIDA tools

Work with AIDA Tools auroral tomography in modern Matlab versions

ImageJ-Win64 won’t start

If ImageJ won’t start on Windows, try the one-time command ImageJ-Win64 –cp jars/javac.jar and thereafter the ImageJ icon should work normally.



Mathematics of Auroral Viewing

When you observe aurora borealis or aurora australis, what you see is a line integral of the optically thin aurora. Here’s the math.


Proposed HF TOA experiments

A group is proposing experiments to determine limits on HF skywave direction finding. Let’s put the SDR-IQ to some experimental use!










Nextel acquires 900 MHz SMR spectrum

Nextel spent a quarter billion buying 900 MHz Arch Wireless spectrum. FCC authorized 5 MHz more of 800 MHz for CMRS, when will it be our turn to be acquired?



CD-R is NOT for archival purposes

As CD-R writers become commoditized, some people don’t realize CD-R have a short lifetime, and even standard CD’s don’t live forever.


Wireless WAN in the Midwest

Wireless data or wireless WAN (WWAN) is growing rapidly. Going beyond two-way paging and package tracking to email for business.