Michael Hirsch, Ph.D.

Click to view Blog by Category
Click to view Blog Tags


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.

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

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.

Skype on Linux beta capabilities

Microsoft has brought Skype back to Linux via two choices, program or Chrome web browser. Here are the current capabilities of the Skype Beta for Linux relev...

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

Miracast on Linux in 2017

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

LG Watch Sport W280 initial review

The LG Watch Sport W280 is a substantial improvement over the LG Watch Urbane 2nd Edition LTE. Here are my initial observations on the greatly improved Sport...

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 WINE 2.x in Linux

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

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.





excellent HF propagation in Cycle 23

With little more than a G5RV antenna up about 8 meters in the barn, Icom IC-725 at 100 Watts, an MFJ-945 antenna tuner to match impedance and a firm connecti...


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.