The Machine Stops ~ E.M. Forster

The Machine Stops, a story ahead of its time being published in 1909, foretells of a society in which individuals are almost completely physically isolated from one another in an underground enclave where communication is achieved only with technology and all life’s necessities are attended to by a vast, unseen network of tubes.

What happens when, as always must happen, the machine stops?

Continue reading The Machine Stops ~ E.M. Forster

My Personal History of Computing

The first computing device I remember using was The Little Professor (1976). Designed like a calculator, the Little professor worked backward: it presented unsolved equations the user then needed to solve. Many years later, future-me would see a Little Professor in a computing exhibit at London’s Science Museum and wish that past-me could have known.

Little Professor.JPG
By Loop202 – Own work, CC BY-SA 3.0, Link

My first programmable computer was the Timex-Sinclair 1000 (1982) with 2K of RAM. I don’t remember what—other than the low price of $99—spurred my mother to buy this for me. It was connected to a Radio Shack audio cassette recorder for data storage and the family’s TV in the living room via an RF converter switch for video output.

Continue reading My Personal History of Computing

The Universal Declaration of Human Rights

“Now, Therefore THE GENERAL ASSEMBLY proclaims THIS UNIVERSAL DECLARATION OF HUMAN RIGHTS as a common standard of achievement for all peoples and all nations, to the end that every individual and every organ of society, keeping this Declaration constantly in mind, shall strive by teaching and education to promote respect for these rights and freedoms and by progressive measures, national and international, to secure their universal and effective recognition and observance, both among the peoples of Member States themselves and among the peoples of territories under their jurisdiction.”

Compact Guide to Classical Inference by Daniel Kaplan (or: How to Teach Stats)

“Both students and instructors perceive standard-error statistics as a confusing collection of specialized tools. To improve student learning, instructors long for a reduction in the number of topics needed to support statistical thinking. This book is a roadmap for instructors who wish to simplify inference while continuing to teach using traditional tools.”

“I hope that this little book can help instructors see that statistical inference can be handled as one topic among the many needed for modern statistics. Inference, important though it be, does not need to be such a sprawling set of methods and details taking up so much of the introductory course that other essential topics get neglected.”

Common statistical tests are linear models (or: how to teach stats)

This post by Jonas Kristoffer Lindeløv presents a parsimonious view of common statistical tests which are, on their own, confusingly and inconsistently named and, taken together, a mess.

Jonas argues that there is a common theme among these tests and that it is simple. Simple to explain and simple to understand.

I highly recommend you give it a read.

President Jimmy Carter’s Message to the Universe

“This Voyager spacecraft was constructed by the United States of America. We are a community of 240 million human beings among the more than 4 billion who inhabit the planet Earth. We human beings are still divided into nation states, but these states are rapidly becoming a single global civilization.
“We cast this message into the cosmos. It is likely to survive a billion years into our future, when our civilization is profoundly altered and the surface of the Earth may be vastly changed. Of the 200 billion stars in the Milky Way galaxy, some–perhaps many–may have inhabited planets and spacefaring civilizations. If one such civilization intercepts Voyager and can understand these recorded contents, here is our message:
This is a present from a small distant world, a token of our sounds, our science, our images, our music, our thoughts, and our feelings. We are attempting to survive our time so we may live into yours. We hope someday, having solved the problems we face, to join a community of galactic civilizations. This record represents our hope and our determination, and our good will in a vast and awesome universe.

Jimmy Carter
President of the United States of America
Statement on the launch of NASA’s Voyager I, 1977

Charlie is so Honest Like

In the early days of the universe, 9 or 10 years ago, I remember being impressed by this young man‘s musical and video creations.

Worlds collide and memes cross, and that’s how I recently ran across Charlie again in the context of a tomato risotto recipe on the SORTEDFood feed. Sorted.

Here, Charlie speaks to an issue that’s near to my heart and that too many people have forever gotten far too wrong: sex & consent. He speaks well and he speaks honestly. I commend you, lend an ear.

In this age of people doing awful things to one another and yet somehow justifying it to themselves, consent is fundamental. As humans, we should be able to discuss it and manifest it in meaningful ways.

If you’ve experienced non-consensual sex at any age, I hope you have or will find your way to talk about it with people you trust. RAINN—the Rape, Abuse & Incest National Network—is available, if you need assistance.

issuer: Local issue tracking, no net required

The goal of issuer is to provide a simple issue tracker, hosted on your local file system, for those users who don’t want to or are disallowed from using cloud-based code repositories.

Online code repositories often provide an issue tracker to allow developers, reviewers, and users to report bugs, submit feature requests, and so on. However, many developers either choose to work offline or work on enterprise networks where use of cloud services may be prohibited.

issuer is an Add-in for use in RStudio’s desktop IDE. It works entirely locally with no requirement for a cloud service or even a network connection.

Read more about issuer at

You can install the development version of issuer from Github with:


Yes, and…? Inviting People to Take the Next Step

As an educator who advises students working on theses and dissertations, there’s a standard question I ask—I refer to it as “the PhD question”: So what? It’s a shorthand to challenge students to consider the question: If everything you’ve just said is shown to be true, what will that mean for changes in our understanding of the world or how we engage with it?

I found myself using So what? again recently at ICER 2019, a community of education researchers that values openness and community building. I heard myself saying it, and I realized I didn’t like the tone of it at all. So what? is confrontational. It’s a conversation stopper, not a starter. It’s a blockade, not an invitation. Yes, I learned it from my graduate advisors way back when, and I think it’s time to put it to bed.

Continue reading Yes, and…? Inviting People to Take the Next Step

My RStudio Configuration

I help a few of dozen users install RStudio and learn R regularly. Whenever I need to install RStudio on a new machine, I have to think a bit about the configuration options I’ve tweaked. Invariably, I miss a checkbox that leaves me with slightly different RStudio behavior on each system. This post includes screenshots of my currently preferred standard RStudio configuration and custom keyboard shortcuts for RStudio 1.3, MacOS.

If you need an exact copy of your settings, consider the discussion at (h/t: liebrr)

Continue reading My RStudio Configuration

Converting Individual Binary Vectors to a Value Based on Column Names

When processing data downloaded from popular survey engines, it’s not uncommon for multiple choice questions to be represented as one column per possible response coded as 0/1. So, a question with just two responses might be downloaded as part of a CSV with one column for q1_1 and another for q1_2. If the responses are mutually exclusive, then (q1_1 == 0 iff q1_2 == 1) and (q1_1 == 1 iff q1_2 == 0). If the responses are part of a “choose all that apply” question, then it’s possible to have multiple 1s.

How can these individual binary indicator variables be reassembled into a single response variable?

Continue reading Converting Individual Binary Vectors to a Value Based on Column Names

What will you improve today?