Michael Hirsch, Ph.D.

Click to view Blog by Category
Click to view Blog Tags


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.

Install Zello app on Linux

Install Zello on Linux via WINE. Zello is mobile phone and desktop app for push-to-talk communications with groups of people worldwide via Internet, like Nex...

Install WINE 2.x in Linux

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

Echolink on Android

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

RTL2832 ADS-B decoder

How to decode, log, and display 1090 MHz ADS-B aircraft transponder data with $20 RTL2832 USB receiver and Raspberry Pi

Ubuntu Default Shell

title: Ubuntu 17.10 uses “dash” instead of “bash for default shell. excerpt: Dash shell is much faster and energy-efficient than Bash, and has a 93% smalle...

fontawesome.sty not found in LaTeX

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

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.

Gitlab Pages vs. Github Pages

Gitlab generally gives more features than Github, including notably for Gitlab Pages–here’s how to setup Gitlab Pages.

Load Octave packages in oct2py

oct2py allows using Octave/Matlab code directly from Python, with acceptable performance. Here’s how to load Octave packages for more functionality from oct2...

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

Zenodo data upload speed

Uploading large datasets to Zenodo (or other such sites) is often restricted by upload speed. Here’s my experiences with Zenodo.org.

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

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.

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.

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

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.


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

People Who Scale

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


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.