IDLdoc 3.6.4 was released today! This release contains another security patch for searching.

Update by downloading from the IDLdoc Releases page or using IPM (with package address "http://packages.idldev.com/idldoc.zip")

IDLdoc 3.6.3 was released today! This release contains a security patch for searching.

Update by downloading from the IDLdoc Releases page or using IPM (with package address "http://packages.idldev.com/idldoc.zip")

I have been using Nova as my main text editor for the last few months. It is a Mac-only, extendable editor that has a great "remote mode" which allows me to edit files on remote servers from my laptop. There are many extensions for handling various languages and data formats, but no IDL extension. So I created a simple one. It is definitely not a complete language specification that makes use of all of Nova's extension capabilities, but it does basic syntax highlighting and some code completion.

You can download the extension through the app — just search for "IDL" in the extension library. Check out the source code and contribute to the project on the GitHub repo.

IDL 8.8 was released recently. The main changes are:

  • A new SOBOLSEQUENCE function to generate numbers from the Sobol sequence.
  • Support for more video formats: DV (Linux only), RAW, Bitmap (Windows only), HEVC, VC-1, and VP-8.
  • Many library updates.
  • Fixed various bugs.
  • IDL Workbench themes, e.g.., dark mode.

See the release notes for more details.

IDL 8.7.3 was released recently1. The new features are:

  1. Using the Intel Math Kernel Library (MKL) for matrix operations now. My experience has been that MKL is a highly optimized implementation of BLAS, a library of low-level matrix and vector operations. Matrix operations, such as the # and ##, should be faster now, but I don't have 8.7.3 to test on, yet.
  2. New BLASS_GEMM matrix multiplication routine with many options for controlling the operation. This is a consequence of adding the MKL.
  3. New SOBOLSEQUENCE routine to generate numbers from the Sobel sequence.

UPDATE 2/25/2020: I have IDL 8.7.3 now and did some simple testing of the performance between IDL 8.7.3 and IDL 8.6 for # and ##. Mean time for multiplying two 50,000 by 50,000 element matrices went from 76.942 sec in IDL 8.6 down to 3.400 sec in IDL 8.7.3.


  1. I have no idea exactly when or how to find that out. ?

IDL 8.7.2 was released sometime last year1. Check out the What's New for more details. The big feature is the WIDGET_BROWSER, which allows a browser window to be embedded in an IDL widget program.


  1. I only know because I saw a webinar for the IDL 8.7.3 release, so it must have been awhile ago. 

epochs is a Python package to handle configuration files specifying values which change over time.

For example, consider a configuration file epochs.cfg containing the following:

[2019-04-09 20:27:15]
value : 3

[2019-04-09 22:31:01]
value : 5

Then value can be retrieved for various times:

>>> import epochs
>>> ep = epochs.parse('epochs.cfg')
>>> value = ep.get('value', datetime='2019-04-09 21:55:45')
>>> print(value)
3
>>> value = ep.get('value', datetime='2019-04-09 23:15:40')
>>> print(value)
5

If you provide a specification for the values in a configuration file, epochs can also validate a config file and provide values as the correct type and default value. For example, for a specification file containing:

[city]
name : required=True, type=str
streets : required=True, type=List[str]
temp : required=False, type=float, default=0.0

Then an example configuration file following this specification:

[city]
name : Boulder streets : [Broadway, Baseline, Valmont]

Then to parse the configuration file with a specification:

>>> import epochs
>>> cf = epochs.parse('example.cfg', spec='spec.cfg')
>>> name = cf.get('name', section='city')
>>> print(name)
Boulder
>>> streets = cf.get('streets', section='city')
>>> print(steets)
['Broadway', 'Baseline', 'Valmont']
>>> temp = cf.get('temp', section='city') 
>>> print(temp, type(temp))
0.0

epochs is in PyPI. It can be installed with pip:

pip install epochs

The epochs source code is available on GitHub.

I updated my groceries list app, [Quantified Groceries], today. It's updated for recent phones and also now has a dark mode.

The release notes for 1.1.0:

- [NEW] iPhone XS/XR screen size support
- [NEW] Dark mode
- [NEW] Haptic feedback (requires iPhone 7 or later)

[Quantified Groceries]: https://michaelgalloy.com/quantified-groceries
[iOS App Store]: https://itunes.apple.com/us/app/quantified-groceries/id1099663281

IDL 8.7.1 adds the IDL Package Manager (IPM), a package manager for IDL libraries. You can install libraries from the Internet with a single command in IDL, even installing dependencies for the library if needed.

Continue reading "IDL Package Manager."

IDL 8.7.1 was released today. Check the What's New on the Docs Center for a comprehensive list of the new features.

Along with some performance improvements and library updates, there are two big new features:

  • an IDL package manager
  • machine learning classes (including a feed forward neural network class)

I will publish an article about the package manager shortly; I made IDLdoc, mgunit, and my personal library available through the package manager. I think this is now the best way to distribute IDL packages.

I am also excited to explore the machine learning classes. I will write more as soon we get 8.7.1 installed on our machines.

With these two new features, this is a powerful "bug fix" release.

older posts »