Just how small are X-ray binaries?

X-ray binaries are so small that we can’t directly image (i.e., spatially resolve) them, due to a combination of being small in size AND very far away.

When updating my Research page I was curious what a good analogy would be for imagining the projected size of an X-ray binary, and I’ve come up with the following. It’s just using algebra and trigonometry, so you can follow along! 😉

Let’s start with some assumptions for this little exercise: we’ll use a 10-solar-mass stellar black hole (i.e., not supermassive) that’s 2.5 kiloparsecs (~ 8000 lightyears) away. A 10-solar-mass black hole is ~2×10^{34} grams (yes, astronomers tend to use grams — cgs, as you’ll see below, means “centimeters, grams, seconds”, referring to the base units).

The radius of the black hole’s event horizon will be

R_{EH} = (2 G M) / c^2 ,

where G is the gravitational constant (6.674×10^{-8} in cgs units), M is the mass of the black hole, and c is the speed of light in a vacuum (~3×10^{10} in cgs units). Plugging these into the equation gives

R_{EH} ~ 3×10^6 cm,

or ~30 km. The distance, 2.5 kiloparsecs, is 7.7×10^{21} cm. Now we do some trigonometry to get the angular size:

A = arctan(3×10^6 cm / 7.7×10^{21} cm) = 2.2×10^{-14} degrees.

As you can see, this is a tiny, tiny number.

So let’s see how big an analogous object would be if it were on the surface of the moon. The closest distance between the surface of the earth to the surface of the moon is, approximately, 376300 km (which is the distance from center of the Earth to center of the moon, subtracted by the radius of the Earth and the radius of the moon), or 3.763×10^{10} cm.

We now want to know the size of an object that would appear to be 2.2×10^{-14} degrees in radius if it were sitting on the moon. This is

arctan(S / 3.763×10^{10} cm) = 2.2×10^{-14} degrees,

where S is the radius in centimeters. Solving this gives

S = 1.4 x 10^{-5} cm, or 0.14 micrometers in radius.

This is 1000 times smaller than the size of a single strand of human hair. Can you imagine trying to take a picture of a piece of hair that’s on the moon, let alone something 1000 times smaller? I can’t.

Let’s try something else — what about something on the surface of Mars? The smallest distance between the surface of Earth from the surface of Mars is 5.57×10^7 km, or 5.57×10^{12} cm. Using the same equation as before, but with this new distance,

arctan(S / 5.57×10^{12} cm) = 2.2 x 10^{-14} degrees,

gives S = 0.0021 cm = 0.021 mm = 21 micrometers in radius.

This is the size of a human hair (~ 30 – 100 micrometers in diameter), or one quarter of the thickness of a piece of paper!

Understandably, we don’t have instrumentation capable of imaging something this small, which is why we rely on spectral and timing measurements of photons emitted from X-ray binaries instead of just taking a picture.

LaTeX workshop and guide

In honor of the impending start of the academic year, here is the pdf of my LaTeX workshop.

Click to access latex_workshop.pdf

X-ray Universe poster

A New Route to Phase-Resolved Spectroscopy of Pulsations and QPOs in X-ray Binaries --AL Stevens, P Uttley, M van der KlisThe X-ray Universe 2014 is my first major conference as a PhD student! Can you tell I’m excited? 🙂

Dublin on Sunday for The X-ray Universe 2014!

XMM-Newton X-ray Universe 2014 Dublin poster
Below are my title and abstract for The X-ray Universe 2014 in Dublin. I’ll also be live-tweeting! Looking forward to a great week 🙂


A New Route to Phase-Resolved Spectroscopy of Pulsations and QPOs in X-ray Binaries

The accretion disks in neutron star and stellar-mass black hole X-ray binaries provide an opportunity to study matter in strong gravitational fields. In particular, using spectral-timing measurements of X-ray emission, we can analyze the inner parts of the accretion disk and corona. Here we present the application of a new spectral-timing technique to carry out phase-resolved spectroscopy of rapid periodic and quasi-periodic signals from X-ray binaries. This technique measures relative phase and does not require ephemerides or exactly periodic signals, so it is applicable to a wide range of data, from X-ray millisecond pulsations to kHz and low-frequency QPOs. The method gives new insight into the physical mechanisms underlying these signals as well as the geometry of the emitting regions.

Travel guide: Amsterdam, Netherlands

This is my go-to list of fun things to do and see when family and friends visited me in Amsterdam, Netherlands! I compiled this from suggestions from friends, colleagues, and travel guides; I haven’t done everything on the list, but I made a valiant effort. It’s Amsterdam-based/focused, since that’s where I lived. Things with an asterisk are must-do’s!

Amsterdam canal houses Holland Netherlands

In Amsterdam

These are accessible within Amsterdam, and typically some can be combined in one day. Look into buying a museumkaart – many of the museums in Holland are free with one.
– * Albert Cuypmarkt or Dappermarkt (open air markets) for fresh stroopwafels
– Amsterdamse Bos (nice for a picnic in the summer! requires cycling to get there)(visit the goat farm, cherry blossom park, and Scottish Highlander cows)
– * Anne Frank house (you absolutely should buy tickets in advance to avoid the long queue; book ASAP!!; the self-guided tour is about 1 hour)
– Bloemenmarkt (the flower market – pretty quick)
– * Canal cruise (this one is pretty good — I recommend going at dusk!)
– Cheese tasting (we did this one at Reypenaer and loved it; book in advance!)
– Dam square (very quick)
– * Eat an Indonesian rijsttafel (places I’ve liked: Desa, Sampurna, and Kantjil & the Tiger)
Heineken Experience (a tour through the old Heineken brewery with demonstrations on how they make Heineken beer; book tickets in advance, since the line gets long)
Hermitage Amsterdam (art museum with a rotating exhibit, so check before going)
Hortis botanical gardens (best in the spring and summer)
Kalverstraat shopping
– Oude Kerk (oldest building in Amsterdam — founded in 1213!)
– * Parks – Vondelpark, Oosterpark, Amstelpark, Frankendael, etc. (Distilleerderij ‘t Nieuw Diep is a little cafe in Flevopark; there’s also a teahouse in Vondelpark)
– Rembrandtplein (cool statues, and lots of clubs/nightlife)
– * Rijksmuseum: classic huge art museum with lots of stuff to see! The building itself is also gorgeous. I recommend starting at the top floor (in the “hall of greats”) and working your way down.
Tassenmuseum (Museum of Bags and Purses, dating back to the middle ages!)
Tropenmuseum (anthropological museum with many traces of Dutch colonialism/imperialism)
– * Walk through the Jordaan canal district and old city center. Rick Steves has a free audioguide for walking around this neighbourhood. (Navigational note: the city is laid out in polar coordinates, not Cartesian; watch your step on the cobblestones and curbs, and always check for bicycles before crossing!!)

Other places in Amsterdam for food: Winkel43 for Dutch apple pie, La Falote for classic Dutch food, Upstairs Pannekoekenhuis for Dutch-style pancakes (like crepes, but with the toppings cooked into the batter; also available at *many* other cafes), La Vallade for fancy upscale European food, Albina restaurant for Surinamese food, Le Petit Latin for French food, Ponte Arcari for Italian food, Taytu Restaurant for Ethiopian food, India Roti Room for Indian food

Other places in Amsterdam for drinks: Gollem Raamsteeg or Gollem Daniel Stalpertstraat for Dutch and Belgian beers, Brouwerij ‘t IJ for local Dutch beers, Wynand Fockink for liqueurs and jenevers (like gin), Whiskycafe L&B for whiskeys, Mulligan’s Irish Pub for Irish beers and live music

Tulip fields near Leiden in April Holland Netherlands

Nearby in/near Noord-Holland

Close enough to Amsterdam that they can be a morning or afternoon trip (generally within the province of Noord-Holland). Tip: Use 9292 to plan train and other public transit journeys in the Netherlands, and load up an ‘anonymous’ ov-chipkaart to easily tap in and tap out of public transit!
Aalsmeer flower auction
Gouda or Alkmaar cheese markets (go for the full historical thing)
– Haarlem (they have a nice Saturday morning market in the old town square)
– * Keukenhof tulip fields (best in April, when the tulips are in bloom; if you’re feeling cheap or tired and just want a glimpse, take the train between Leiden and Heemstede-Aerdenhout, and you’ll pass by some great fields; cycle through the tulip fields with my route!)
Zaanse Schans windmills & historic town
– Zandvoort aan Zee (the beach!)

Maastricht Holland Netherlands

Elsewhere in the Netherlands

These require a full day or more. I really enjoy purchasing a map in the tourism info booth for a self-guided walking tour through the town!
– * Delft (market in the old square, Nieuwe Kerk, Oude Kerk)
– Den Haag (Mauritshuis, Gemeentemuseum, Scheveningen beach (cycle along the dunes!))
– Maastricht, caves in Valkenburg aan de Geul, and the 3-country point (will probably need to rent a car once you reach Maastricht, and likely requires an overnight stay in the area)
– Rotterdam, Maeslantkering storm surge barrier, Kinderdijk windmills, boat trip around the Randstad

Amsterdam Centraal train station Holland Netherlands

What would you add to the list? Are you planning to swing through the Netherlands on your next trip?

Live-tweeting the SURFsara e-infrastructure event

I’m live-tweeting the SURFsara data and supercomputing e-infrastructure event. Follow along with the tag #einfra!

10 Coding Principles, by Greg Landweber

My undergraduate mentor in the math department, Prof. Greg Landweber, taught me his 10 coding principles in a computational methods tutorial. They’ve gotten me through my BA project, MSc thesis, and I’m still using them in my PhD. They are as follows:

  2. Compile early and often.
  3. Consult the documentation (RTFM).
  4. Use descriptive variable names.
  5. Comment liberally, including every function, its parameters, and return value.
  6. User interface should be at the top-level only. Computational functions don’t talk to the user.
  7. Use print statements to debug.
  8. No global variables.
  9. Organize your code into functions. Avoid repetition.
  10. Think about algorithms. Avoid checking every possibility by brute force.

Number 1 is my favourite. Number 10 is still something I’m working on. I forced myself to use these principles when I was learning to code, and I think they make me a better programmer than I’d be without having learned and used them. One idea I would add, which is a principle of both good coding practice and laziness:

    11. If you’re manually doing a task often, automate it. You will be rewarded handsomely for your effort up-front.

What are your coding principles?

EDIT: This post generated some great discussions! Here are some suggestions and addenda from my friends and colleagues:

    3a. Write documentation in the first place, and update it as the code grows and changes.
    11a. If you have to do it twice, automate it!
    12. Think before you code. (As it was pointed out, “think before you X” is a good rule of thumb for life.)
    13. Use assertions to debug.
    14. Use version control (e.g. Git).
    14a. Never commit broken code.
    15. Avoid archaic languages (fortran, IDL) whenever possible.
    16. If any code unit has more than ~50 lines (pick a relevant threshold), it needs to be split into separate units.
    17. Write test cases for your code.
    18. Just because you’ve found a bug doesn’t mean you’ve found all the bugs and your code works now.
    19. Don’t just be prepared for failure, expect it! There will be a problem with the code you’re writing right now, but you’ll be able to fix it eventually!

FGSR Kaplan Graduate Student Award

My attendance at CASCA 2013 was funded by the J. Gordin Kaplan Graduate Student Award from the U. Alberta Faculty of Graduate Studies and Research (FGSR). I didn’t know that I had received the award at the time of the conference, but this is me publicly acknowledging the award for travel assistance! Thank you, FGSR!

CASCA 2013!

I’m excited to be at CASCA at UBC this week! Follow the festivities on twitter with #cascaUBC. For those interested, my talk is Wednesday in Session 10 (Compact Objects) at ~11:15am in Hennings 202.

Using X-ray Light Curves to Constrain the Neutron Star Equation of State

The equation of state for ultra-dense matter has puzzled astrophysicists for decades. This is because the conditions of ultra-dense matter, such as those found in neutron stars, are not terrestrially replicable. X-ray light curves from low-mass X-ray binary systems, with neutron star primaries, have proven to be useful tools in the study of the neutron star equation of state. Theory predicts that the X-ray light curve resulting from a Type I X-ray burst on the surface of a rapidly rotating neutron star can be used to determine the characteristics of the burst ignition spot and place constraints on the neutron star’s mass and radius. We discuss the development of spherical and oblate neutron star models that, providing parameter values, yield an X-ray light curve comparable to that which would be measured by an X-ray timing telescope like RXTE. This simulation code, used with a genetic fitting algorithm, will provide us with an opportunity to disentangle the effects of various aspects of the neutron star and hotspot on the outputted light curve, showing which parameter degeneracies will have the greatest impact on the observable.


I’m giving a talk at LogiCON on May 4, 2013. It will be an updated version of “Exo-lent Planets!”, a talk I gave at Nerd Nite Edmonton. Visit the LogiCON website for more information. Registration is free!