Category "Books"


Python Unlocked:

Python is a versatile programming language that can be used for a wide range of technical tasks — computation, statistics, data analysis, game development, and more. Though Python is easy to learn, its range of features means there are many aspects of it that even experienced Python developers don’t know about. Even if you’re confident with the basics, its logic and syntax, by digging deeper you can work much more effectively with Python – and get more from the language.

Python Unlocked walks you through the most effective techniques and best practices for high performance Python programming – showing you how to make the most of the Python language.

I find myself reading more about best practices, especially in Python.

If you are interested, promo code PYTUNL30 will get you 30% off the ebook until Feb 20.

Since this spring when I sold the last print copies, Modern IDL has been available as PDF only. I have not wanted to make another print run because of the large up front investment required, but I have finally explored the on demand printing services that have been around for awhile. I am happy to announce that a print version of Modern IDL is now available on Lulu.com.

The new version is perfect bound, not spiral bound like the old print version. Also, new features of IDL 8.5 have been included in this new print version and the PDF (still available on the Modern IDL website).

If you purchased the Modern IDL PDF in the past and have not received a link to the new version, please let me know.

I sold the last print copy of Modern IDL that I had this morning. At this time, I do not intend to make another print run; the PDF will be the only version of the book from now on1.

While I continually update Modern IDL for new versions of IDL, only the PDF purchasers get the full benefit of the updates. The hardcopy version was often a version of two behind because of the way that I placed orders to my printer. PDF purchasers also got future updates2, which was, of course, impossible for the hardcopy version.

For those who still really want a hardcopy version, you have permission to print your PDF. While higher, I think the total cost of the PDF plus printing/binding at Kinkos shouldn’t be too much more than I was charging for the hardcopy.


  1. Although, I don’t have anything against other electronic formats. If you have a favorite electronic format that you would like to see Modern IDL available in, please let me know. 

  2. PDF purchasers will receive updates until IDL 9.0, when you will have to purchase again to receive further updates. 

Good news for those people who bought the hardcopy version of Modern IDL, but didn’t take advantage of getting the PDF for only $10 more and now are a bit jealous of the updates to the PDF! A $10 PDF copy of Modern IDL (for previous hardcopy buyers only) is available for a limited time.

If you are interested, just send me (mgalloy at gmail.com) an email from the same email account that was used to purchase the hardcopy version.

Modern IDL has been updated for the IDL 8.2.1 release from last week. If you bought a PDF of Modern IDL, you should get an email with a link to download the updated version.

In Modern IDL, I give a short demo of using pyIDL to use IDL from within a Python session. I have had problems with installing pyIDL lately, but didn’t have an alternative until I found pIDLy recently. It easy_installs nicely and has an even nicer interface:

>>> import pidly
>>> idl = pidly.IDL()
>>> idl('x = total([1, 1], /int)')
>>> print idl.ev('x')
2
>>> print idl.ev('x ^ 2')
4
>>> idl.reform(range(4), 2, 2)
array([[0, 1],
       [2, 3]])
>>> idl.histogram(range(4), binsize=3, L64=True)
array([3, 1], dtype=int64)
>>> idl.pro('plot', range(10), range(10), xstyle=True, ystyle=True)
>>> idl.interact()
IDL> print, x
    4
IDL> exit
>>> idl.close()

I don’t see any versioned releases since 2008, but there are commits to the GitHub repo in the last few months so I believe the project is still alive. In any case, it does what I need right now and I can install it. Updating book to use pIDLy…

I have made a few small additions to Modern IDL to cover IDL 8.2, mostly the new methods for function graphics objects and correcting a few typos. Previous purchasers of the PDF will receive an email shortly with a download link for the new version.

I’ve updated Modern IDL for some of the IDL 8.1 features, notably GRIB, function graphics enhancements1, and the IDLffVideoWrite class. PDF purchasers from this point on should get the new version and I will send out the update to the purchasers of the old PDF shortly. The first run of the print book is all sold; the second run is still at the printers. So if you order the print version right now, expect the book to ship sometime next week.

As always, see the Modern IDL website for purchasing, new code examples, table of contents, sample chapter (object graphics with the new function graphics updates!), and errata.


  1. Also, I switch back to the term “function graphics”, which was my original favorite term for the new graphics system, but I had gone away from it because there seemed to be consensus on the newsgroup to call it “new graphics.” I think “function graphics” is a better term that is less likely to not make sense when the next graphics system comes out. 

I’ve updated the PDF version of Modern IDL to fix some typos. If you bought a copy of the PDF, you should receive an email this weekend (to the email address used to buy the book) with instructions on downloading the new PDF. I’ve included an omitted program from the example programs also, so follow the correct download link at Modern IDL.

Modern IDL is now listed on the IDL books page on ITT VIS’ site!

older posts »