Michael Hirsch, Ph.D.

Click to view Blog by Category
Click to view Blog Tags


WJIB-AM 740 translator on 101.3 FM

WJIB is beloved by Boston/Cambridge listeners for its one-of-a-kind playlist and commentary from Bob Bittner, who runs companion AM/FM stations in coastal Ma...

LoRa Wifi Ranging and SX1280 chip

Wifi 2.4 GHz ranging between a master and slave device is an important IoT application. Here is an early LoRa chip with excellent communications features.

What can a harmonic radar do?

Perhaps worthy of a review article, I give a sampling of the numerous questions I get, from Fortune 100 companies on down over the past decade on harmonic ra...

Skype on Linux beta capabilities

Skype is available on Linux via two choices, program or Chrome web browser. Here are the current capabilities of the Skype Beta for Linux for business use.

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...

Miracast on Linux in 2017

Google’s effective deprecating of Miracast on most Android phones is frustrating–but Linux support for Miracast is getting easier thanks to Intel Open Source...

Fortran gdb/gdb-ia Debugging

Here’s how to debug Fortran code from the perspective of one accustomed to Matlab/Python debugging, using the gdb or Intel gdb-ia debuggers, in cheat sheet f...

Open same PDF multiple times in Evince

It’s useful to open the same PDF file multiple times, particularly when reviewing journal article drafts to view figures. Just select “File > Open a Copy”.

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.

Install WINE 2.x in Linux

WINE 2.x brings Office 2013 and a refreshed architecture for a higher level of compatibility with Windows applications. Here’s how to install Wine 2.x on Lin...

Overleaf with Github

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

nmap in Cygwin - seamlessly

Cygwin 2.8 still doesn’t have nmap built-in, but you can use nmap in Cygwin easily via this two-step install.

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.

Check HDF5 files for corruption

HDF5 files do not currently have a recovery or journaling mechanism. You can have the same file size but a corrupted file. Here’s how to check HDF5 for corru...

Setting up Astrometry.net program

Astrometry.net allows blind registration of astronomical images, including those from auroral cameras. I have created additional software giving az/el per pi...

Fixing Numpy MKL ImportError

Suddenly I started getting MKL AVX errors upon import numpy. Force reinstalling Numpy fixed the problem as described herein.

Force apt-get 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...

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 can be a very high performance language for data analytics tasks common to science and engineering. Here is a simple guide to transition from IDL to P...

WSJT-X on Ubuntu

WSJT is THE weak-signal mode, and it works great from Linux. Expert JT65/JT9 operating strategies are described.

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.

Goldwave audio editor on Linux WINE

Easy install Goldwave audio editor on Linux using WINE. WINE 2.x allows Goldwave 6.x to work, while WINE 1.x allows Goldwave 5.x to work on Linux.

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...

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 Github push

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

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.

Travis CI examples

Having a CI system to check your self-test on each git push can save you from hard to find bugs later.

RTL2832 ADS-B decoder

setup for decode, log, and display 1090 MHz ADS-B aircraft transponder data with your $20 RTL2832 USB receiver


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 ...

Matlab missing compiler error

Matlab errors on loading shared libraries loadlibrary() like Error in loadlibrary getLoadLibraryCompilerConfiguration are fixed by telling Matlab your compil...

Matlab Free Memory On Linuxmac

title: ‘Matlab: platform independent free memory’ excerpt: You can get free memory on any platform from Matlab and GNU Octave with this script. categories...

Sending ICMP ping from BB10

BB10 can send ICMP pings without an app–it’s buried in the Wifi menu under Settings / Network and Connections / WiFi / Advanced / Diagnostic Information / Pi...

fontawesome.sty not found in LaTeX

FontAwesome provides graphical characters from the font itself, very useful for websites and business cars–here’s how to get FontAwesome in LaTeX.

People Who Scale

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


Find Gmail email with any attachment e.g. PDF

find all PDFs I sent to [email protected] type in Gmail search

upgrading Scipy via pip

You can install Scipy the quick way via conda, or the general way via pip. Pip install scipy requires a Fortran compiler.

HDF5 in Labview 2013

h5labview package allows use of many common HDF5 read/write features from Labview.


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!







Yaesu VX-7 Technical Review

dual simultaneous receive, quad-band transmit and very compact size are three key features of the Yaesu VX-7. Let’s discuss technical characteristics.






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.