1. Finding a planet by subtracting starlight

    Implementing the KLIP algorithm of Soummer et al. (2012) for starlight subtraction using basic NumPy. (Basically, the document I wish I had when I started working on high-contrast imaging.)

  2. Moving polygons around the sky

    When you have a shape with vertices specified in angular coordinates, and you need to place it somewhere on the sky, try adding a dimension.

  3. The year of Linux on the laptop

    Getting an acceptable Linux laptop with only a lot of work!

  4. Installing Linuxbrew on CentOS 6 despite its ancient version of git

    In order to install a recent version of git, you must first install a recent version of git...

  5. Enabling self-hosted website analytics with NixOS

    An account of setting up Matomo, MySQL, NGINX GeoIP2, and automatic updates for GeoLite so we can see who's reading our research blog.

  6. High contrast imaging in plain English

    Trying to explain my current exoplanet direct imaging research without using uncommon English words.

  7. From sky coordinates to pixels (and back)

    A colleague came to me with a question. She had some Herschel data in a FITS image with world coordinate system information (WCS) as well as some derived data in pixel coordinates based on that image. She wanted to create a new FITS image with WCS information to allow her to match the two images. It turns out the simplest way to explain how to do that was basically to write a blog post, so here we are.

  8. Fix your matplotlib colorbars!

    I was frustrated with incorrectly sized colorbars on my matplotlib figures with subplots, so I dove in to figure out how to sort this out once and for all.

  9. WebbPSF for WFIRST released!

    The extensions to WebbPSF that will allow it to compute PSFs for the wide field imaging instrument for the upcoming WFIRST mission have been released. Here are some resources for using them.

  10. Why does reading data from a file-like object "consume" it?

    Sometimes, one tries to iterate over some content more than once, and Python acts like it only iterated once. Here's the reason why, and some historical context for it.

  11. Recovering Signals from Unevenly Sampled Data

    Time-series data collected by astronomers typically has irregular gaps, usually because of ground conditions (like sunrise) getting in the way. The Lomb-Scargle algorithm allows observers to tease out periodicities in their data, even when it has gaps that would introduce noise in a Fourier transform-based approach.

  12. App Bundles with a Makefile

    Why is it a good idea to use tools from 1977 to build Mac apps? In this post, I build my SDL test app bundle using a Makefile instead of an IDE.

  13. SDL 2 on OS X Mavericks

    Setting up Xcode 5.1 for development with SDL 2, then getting a test program to compile and run

  14. Adaptive Optics in Plain English

    Explaining AO using the top one thousand most common words in English (inspired by xkcd)

  15. Boxcar smoothing with AstroPy

    Smooth a noisy signal by convolving it with a 'boxcar' kernel (or: the poor man's low-pass filter)

Background image of the Carina nebula by NASA, ESA, N. Smith (University of California, Berkeley), and The Hubble Heritage Team (STScI/AURA)