Thinking Out Loud

Semi-coherent rambling, often about computers


Recently read books, 2015-06-28

  • Chaos: Making a New Science, by James Gleick.

    I’ve read a few of James Gleick’s histories of science and scientists, including Genius, Isaac Newton, and The Information, but I somehow missed Chaos up until now. As always, Gleick delivers a fascinating, well-researched history, and I greatly enjoyed it. Indeed, I was impressed by the fact that he could maintain an interesting style for a popular audience while providing enough detail about some of the math that I could reproduce some of the fractals and graphs he refers to in IPython! Highly recommended.

  • Thinking in Systems: A Primer, by Donella Meadows.

    This book is a well-written, easy to understand introduction to the theory of dynamic systems. At least, I found it easy to read and understand, and I’m assured by reviews from those with more systems theory experience that it’s a decent basic text. :) It helped clarify some other recent reading, and provided some structure for some other problems I’ve been thinking about. If you’re reading this and can suggest future reading on this topic, please feel free to send me a note.

  • The Clock of the Long Now, by Stewart Brand.

    The Long Now Foundation has long provided some of the more interesting material about long-term thinking, and I’m a big fan of the podcast recordings of their seminar series. During a recent visit to San Francisco we stopped in at The Interval, their public bar/salon, and I picked up a copy of Stewart Brand’s book about the idea of th Long Now.

    Having listened to so many of the seminars where Brand questions the speakers at the end, it’s clear that the essays in this book are from early in the project’s history: I think his thinking has evolved a bit, and it’s possible to see where ideas from this book are more developed in later talks or essays.

    However, I think it’s still well worth reading. The quotes on the back of the book will encourage you to read it slowly, despite how short it is, and I think that’s a good idea; there’s a high idea-density in these essays, and it’s worth taking time to think. I don’t know that I agree with everything found here, or even its bulk; but it definitely made me think throughout.

  • Seveneves, by Neal Stephenson.

    Another very good book from Stephenson. As always very detailed, heavy on exposition but is clearly enjoying himself so much it’s infectious. Not one of my favorites – I enjoyed Anathem and Cryptonomicon much more – but also nowhere near as disappointing as Reamde. Solid recommendation for anyone who enjoys books about the end of the world; books about engineers solving ridiculous problems; or fans of very detailed near-future science fiction.

  • Slow Bullets, by Alastair Reynolds.

    I’ve always found Alastair Reynolds to be kind of hit-or-miss; for example, I loved Chasm City and House of Suns, but found his Revelation Space series disappointing. Slow Bullets has an interesting premise, of soldiers from a war long over being awoken on a decaying starship, but I didn’t really connect with the characters or enjoy the execution of the story.

  • The Martian, by Andy Weir.

    Really fun excellent science fiction adventure for those who enjoy tales of extreme engineering. The xkcd is pretty much accurate.

  • The Big Roads, by Earl Swift.

    I’m still in progress on this one, but it’s a fascinating story and a lot of fun to read. Like with Chaos, I really enjoy histories of science and engineering; but I didn’t think that a civil engineering history would be quite so enjoyable. One of the things that’s surprising me is how relatively new so much of our infrastructure is, with most of even the rural highways in America being built in the late 1800s or early 1900s. The decaying nature of our modern infrastructure seems to be less because it’s old, or poorly built, but more because we just demand so much from it and spend so little time or energy on its maintenance.


Stories as personal metaphors

Sometimes a book resonates so deeply with me that it affects how I think about the rest of the world. I’m not talking about changing a political or other reasoned opinion, though that happens too; but about deeply changing the way I perceive the world outside my head.

This happens to me especially with fiction. A particular character, or a moment in a story, just sticks with me from the moment I read it. And forever after, that resonating concept is deep in the back of my mind, and it’s never really more than a thought away.

Memory, by Lois McMaster Bujold, is a good example of this. Bujold takes one of her most beloved characters, star of his series, and utterly destroys him – for reasons that are entirely his own fault. And then, shows how he comes out on the other side – battered, bruised, and with some semblance of honor. Hopefully having learned something, but not having necessarily “learned his lesson”: he’s still flawed, and still makes some of the same mistakes. He is only somewhat redeemed.

There are moments in that story that will could break your heart, that have stuck with me since the first time I read it, something like twelve years ago. And since then, when I’ve gone through dark times, or had friends or family go through them, that story has reminded me that there can be a way back from those moments. That it’s possible to learn imperfectly, and fix the things you can fix, and still survive.

There are books that lead me back from the dark times, and books that make me laugh. Books that inspire me, and books that help me focus. But I think it’s such a wonderful thing that stories can find this resonance, that they can matter; and a big part of why I read fiction is to find these stories.

Some of the books that matter to me are in my “favorites” list on Goodreads. What are the books that matter to you?


Notes on building and packaging environment modules with EasyBuild and FPM

Like any good sysadmin, I strongly prefer to install software using my OS’s built-in package management system. Unfortunately, a lot of the software used in scientific high-performance computing doesn’t make this easy. Many popular software projects, including both user applications and common libraries, don’t distribute packages but expect their users to build from source. And many of these projects have non-standard, arcane, or just-plain-weird build processes.

This post consists of some notes on a workflow I’ve used for building scientific software and producing RPMs which can be used to distribute that software in the future. I use this workflow mostly for personal projects – building and testing clusters on Amazon EC2, for example. (Disclaimer: This is not the workflow in production use at the Day Job, where the software management problems are much more challenging!)

The core components of this workflow are EasyBuild – which automates building HPC software projects – and FPM – which makes it easy to build OS packages from a directory.

Read on →