[This post originally appeared at ProfHacker.]

A lot of productivity advice, especially about technology, is about making things easier to do. For example, in the last few days at ProfHacker, George has asked about paperless promotion portfolios, Mark has shown us an easier Zotero workflow with Zotpad, Adeline has reviewed a geo-tagging journal, and I have written about hacking URLs for faster searches.

But recently I’m finding that I need to make some things harder on myself. It’s easy to fall into habits or routines, whether technological or otherwise, that keep you doing things that you wouldn’t choose to do if you thought about it rationally. But to get to the place where you’re making better decisions, you have to break the habit by making things harder on yourself. There is no point in having a shortcut to something that isn’t worth doing.

Here’s an example: Amazon has a patent on “1-Click” shopping. If you turn on the service, you can buy any of their products with one click of the mouse. Want to buy a book? One click and it shows up at your doorstep. That’s very convenient, and it can become very expensive. I’ve turned off 1-Click shopping.

Here are three things I’ve done to make it harder for me to do things I don’t really want to do:

  • I’ve deleted a lot of bookmarks and apps. The bookmarks or shortcuts to my e-mail program, to Twitter, to Google Reader, to any other site or app that I might check reflexively rather than intentionally are gone. I still use those services, but now I have to make an effort to get to them.
  • I’ve decided to wait 24 hours before agreeing to do anything that is more than routine. Usually, if you ask me to do something, and I’ll say yes right away and regret it later. So now I wait a day before thinking about it, so that I actually can think about it.
  • If I know that a task is likely to take more time than I want to allot to it, I wait to do it until some time when a hard constraint will make me stop at a fixed time. For example, I usually plan to spend two hours prepping for a class, but that can easily become four hours. The extra two hours doesn’t substantially improve the class for my students, but it does take away from my other work. So, I do begin course prep two hours before I have to go to home for the day, because I know my time is limited.

What things do you do reflexively? What can you change to make them harder to do?


This fall I’ll be teaching a university writing seminar titled ‘Religious Pluralism and the American State’. I’ve made the syllabus available online and I’ve put up a basic course website.

Here is the course description:

Two of the most pressing questions about American religion and its public role are intertwined: how should religions relate to one another, and how should religions relate to the state? In this class you will take up these two questions through the historical analysis of texts about the interactions of Protestant, Catholic, Jewish, Mormon, and Native American religions with one another and with the federal and state governments. You will investigate how law has regulated the public sphere and the civil square in which religious interactions take place, but also how religious actors have driven those interactions. We will trace the history of American pluralism, from the fact of diversity in eighteenth century to the idea of pluralism in the twenty-first century. Because this is a writing seminar, you will write three essays: one expositing a document about a religious conflict, a second interacting with other historians’ interpretations, and a third based on original research into religious conflict.

I’m looking forward to the reading list for the course. We’ll be reading most of three great books: Steven K. Green’s The Second Disestablishment: Church and State in Nineteenth-Century America, David Sehat’s The Myth of American Religious Freedom, and William Hutchison’s Religious Pluralism in America: The Contentious History of a Founding Ideal.

But I’m mostly looking forward to teaching the primary sources, which range from eighteenth-century texts such as the Virginia Statute for Religious Freedom and John Leland’s The Rights of Conscience Inalienable, to nineteenth-century texts such as essays by Isaac Mayer Wise in the Occident and court cases about blasphemy, polygamy, and Bible reading, to twentieth-century texts about Jehovah’s Witnesses, drugs, and the ministerial exception. (I try to bring the course right up to the present by using Hosanna-Tabor Evangelical Lutheran Church and School v. EEOC.) There are a lot of ’echoes’ in the texts: for example, James Madison’s ‘Memorial and Remonstrance Against Religious Assessments’ is quoted in several of the nineteenth- and twentieth-century texts, and the question of school prayer and Bible reading comes up again and again.

I think the problem of how an open society can both permit wild religious diversity and full religious expression is one of the most crucial questions facing our democracy. I hope this course will be a small contribution to helping the students and myself think through the question.


Here is a hack for those of you writing a dissertation (or book, or other long form project) in plain text. Since I am writing my dissertation in Markdown and Pandoc, it’s easy to find out the word count for a chapter from the command line:

<span class="gp">$ </span>wc -w ch4.dissertation.Mullen.md
I wanted to track my progress by regularly getting a word count for every chapter. To do that, I wrote a Bash script which runs `wc` and stores the data to a CSV file. Here is the script:
<span class="c">#!/bin/bash          </span>
<span class="nb">source</span> /Users/lmullen/.bash_profile

<span class=“nv”>EPOCH</span><span class=“o”>=</span><span class=“k”>$(</span>date +<span class=“s2”>"%s"</span><span class=“k”>)</span> <span class=“nv”>DATE</span><span class=“o”>=</span><span class=“k”>$(</span>date<span class=“k”>)</span> <span class=“nv”>WCCH1</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch1.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch1.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH2</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch2.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch2.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH3</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch3.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch3.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH4</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch4.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch4.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH5</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch5.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch5.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH6</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch6.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch6.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH7</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch7.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch7.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCH8</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/ch8.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/ch8.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCPRE</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/preface.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/preface.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCINTRO</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/introduction.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/introduction.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nv”>WCCONCL</span><span class=“o”>=</span><span class=“k”>$(</span>wc -w /Users/lmullen/acad/dissertation/conclusion.dissertation.Mullen.md | sed <span class=“s1”>'s//Users/lmullen/acad/dissertation/conclusion.dissertation.Mullen.md//'</span> | sed <span class=“s1”>'s/ //g'</span><span class=“k”>)</span> <span class=“nb”>echo</span> <span class=“nv”>$EPOCH</span>,<span class=“nv”>$DATE</span>,<span class=“nv”>$WCCH1</span>,<span class=“nv”>$WCCH2</span>,<span class=“nv”>$WCCH3</span>,<span class=“nv”>$WCCH4</span>,<span class=“nv”>$WCCH5</span>,<span class=“nv”>$WCCH6</span>,<span class=“nv”>$WCCH7</span>,<span class=“nv”>$WCCH8</span>,<span class=“nv”>$WCPRE</span>,<span class=“nv”>$WCINTRO</span>,<span class=“nv”>$WCCONCL</span> >> /Users/lmullen/acad/dissertation/wordcount-data.csv

First, the script finds out the date in two formats (lines 4--5), the Unix "epoch" time (or number of seconds since midnight on January 1, 1970) and a human readable time. I thought I should store both since I didn't know which would be most useful later on. Second, the script counts the number of words in each chapter and in the front matter and back matter. It also strips away all of the output from that command except the word count itself (lines 6--16). Someone with better scripting skills than me could probably compress those eleven lines into one or two. Finally, the script appends a line with the data to a CSV file (line 17).

When the script is executed, it returns data like this (from the very first line in my data file):

EPOCH,DATETIME,CH1WC,CH2WC,CH3WC,CH4WC,CH5WC,CH6WC,CH7WC,CH8WC,PREWC,INTROWC,CONCLWC
1332736387,Mon Mar 26 00:33:07 EDT 2012,0,0,0,12412,0,0,0,0,0,0,0
As you can see, by March 26 I had written 12,412 words for chapter 4, and not much else. Apparently I also wrote this script after midnight.

I run the script automatically each hour by adding this line to my crontab:

0   <span class="k">*</span>   <span class="k">*</span>   <span class="k">*</span>   <span class="k">*</span>   /Users/lmullen/acad/dissertation/wordcount.sh
I haven't done much with the data yet, but the point is to collect it while I am writing. It's easy enough to open the CSV file in Excel and generate graphs of my progress. Eventually I may also analyze the data in [R](http://www.r-project.org/).

Gathering the data is one problem. Getting the word counts to increase at an acceptable pace is another problem altogether.


[I have been asked to participate in an orientation for new teaching fellows at Brandeis University. As part of the panel, I am supposed to speak for five minutes on the topic, “one piece of advice that you wish you had known before you started teaching.” These are the remarks I intend to give, which are similar to a post I wrote for ProfHacker on a related theme. I will be glad for any critiques.]

Good morning. My name is Lincoln Mullen, and I am a graduate student in the history department. I have been a teaching fellow for five Brandeis history courses, two with David Hackett Fischer and one each with Govind Sreenivasan, David Engerman, and Xing Hang.

I have been asked to give you one piece of advice that I wish I had known before I started teaching, and so I offer you a principle which I learned from the professors I worked with, sometimes by word, sometimes by example.

To state it briefly: You should regard your teaching and all other interactions with students as a moral relationship governed by moral principles.

As new teachers you likely have a dozen questions about how to grade papers, when to hand them back, what to wear, and other details of teaching, all of which we will address in a few minutes. But for now, step back from the minutia, and consider your role as a whole. Let me explain what I mean by saying teaching should be a moral relationship governed by moral principles.

We could show that teaching is primarily a relationship from research into pedagogy, much of which argues that learning depends on whether students and teachers cultivate a relationship. But instead we can prove this empirically, because you will feel and act like you are in a relationship. Over the sixteen weeks of the semester, you will get to know your students, and they you. Some of them you will come to admire and respect; for others … it will be otherwise. But good or bad, you will have a relationship with all your students.

So why do I say that your relationship is moral? We could say that you have a professional relationship with your students. Though that is true, it is insufficient, because professional ethics are only supplemental to moral codes. The professional ethics which are peculiar (in both sense of the term) to the academy govern the cases which are unique to the academy, for example, plagiarism. But there is a danger that you will think that if you have fulfilled the letter of your professional obligations, you have fulfilled the spirit of your moral obligations. In other words, it is not helpful to think of your relationship as just professional, because those obligations are spelled out for you. What you need to think about is how your relationship to your students is full of the same moral complexities as any human relationship.

There is no reason to shy away from calling the teaching relationship moral in the context of the secular academy, since Brandeis is as much a liberal arts college as it is a research university, and part of the tradition of the liberal arts and their colleges is the inculcation of virtue.

If the teacher-student relationship is first of all moral, it follows that you should apply your moral principles to the relationship. For me, the moral principle is “you shall shall love your neighbor as yourself.” I hold to that ethic because it was taught by Jesus in the Gospels, but you might hold it because it is found in the Torah, or in Confucius, or you might hold to some other principle entirely. My point is not which moral principles you should choose, but that you should practice your moral principles in the teaching.

What does it look like in practice to love your students as yourself? Let’s see how that ethic gives helps us answer some questions about the details of teaching.

  • How should I interact with students? You must learn their names, and use them. Permit them to get to know you; get to know them as much as they permit.

  • How should I comment on student papers? Your comments should always be charitable in wording and intent, and should engage seriously with the argument the student intended to make.

  • How should I dress? Whatever you wear should convey seriousness about the subject and respect for the students. For me that is almost always a jacket and tie, but I’m stodgy. You can find a different way to convey the same meaning.

  • How available to the students should I be? You will have to pick office hours and set expectations for communication that fit your needs, but whatever you do, your students should feel that you are available, not unavailable.

  • Which students need my help? You can only help the students who want to be helped, and you’ll spend most of your time helping the students who ask to be helped. But you have an obligation to all of your students, and should go out of your way to try to help all of them.

  • What should I do when students say or do funny things? By all means have a good laugh to yourself when students make amusing mistakes in their papers. But never post those mistakes online, or anywhere else.

  • What should I do in dubious situations? You’ll encounter situations when you doubt that a student is being honest. But always assume and hope that your student has the best motives and intent, because “love … does not envy. … Love hopes all things, endures all things.”

  • How much time should I spend on being a TF? Do not shortchange your own work, but be willing to give—not spend—more time to your students than you expect, because you are putting their needs before your own.

As a teaching fellow I did not always—or even often—succeed at cultivating teaching relationships as moral relationships. After turning in some uncharitable grades, a professor encouraged me to rethink my interactions with students in exactly these moral terms. So the lesson that I learned is that the most important thing you can do as a teacher is subject all your interactions to moral discipline.


When people find out I’m a graduate student, they often say something to the effect, “You must sit around all day thinking big thoughts.” It occurs to me that the opposite is true. Amateurs think big thoughts; professionals think little thoughts. An amateur has the luxury of thinking primarily about the most important, highest level questions. In economics, say, an amateur can opine without data about what has caused a recession or what will fix it, but it is the professional economist or financier who spends days crunching the numbers.

Of course, this idea shouldn’t be taken too far. Professionals do eventually put those little thoughts into big thoughts, which then guide them as they think more little thoughts. Amateurs often spend a great deal of energy in getting the details right: just talk to any Civil War re-enactor. But I think that the general principle holds true.

Just a little thought I had.


For my dissertation, I am researching the lives of converts from the nineteenth century. Some people who converted left behind an enormous source base. Orestes Brownson converted from Congregationalism to Presbyterianism to Universalism to Unitarianism to Transcendentalism to Catholicism, publishing voluminously all along the way. For other converts, I can find the barest of mentions in a newspaper or collection of papers. The dissertation needs to get both at the experience of well-known, articulate converts like Brownson, and lesser- or unknown converts. To retrieve that second kind of experience, I want to try analyzing all the conversions as data.

As I compile my research, I want to use it for two purposes. First, I need regular research notes to use when writing the dissertation. Second, I’d like to use the research as data, which I’ll analyze from some unknown tool (maybe Ruby). I have an idea of some of the questions that I’ll ask: How many people converted from X to Y? How likely were converts who were clergy in one religion likely to become clergy in another? How were conversions distributed over time? over space? But I won’t know which questions can be investigated programmatically or what the data to answer them will look like until I’ve done substantially more research.

The idea: use YAML to model lives and events

With that research problem in mind, I’ve drawn up a list of specifications for what my data model should look like.

  1. The data must be human-readable and -writable as research notes.
  2. The data model must be able to grow organically as I do the research.
  3. The data model must be able to hold large amounts of undigested text as notes.
  4. The data must be portable to other formats, possible JSON or XML/TEI.
My idea is to use [YAML](http://yaml.org/) as the format for the data. YAML is a "human friendly data serialization standard for all programming languages." YAML's two top priorities are "YAML is easily readable by humans" and "YAML data is portable between programming languages," which match my own priorities. I'm familiar with YAML from using [Jekyll](http://jekyllrb.com) for this blog and [another web project](http://jsr.fsu.edu). YAML also fits well into the principles I learned from [*Linux and the Unix Philosophy*](http://openlibrary.org/works/OL3494423W/Linux_and_the_Unix_philosophy), especially "store data in flat text files."

Example YAML model and Ruby script

I’ve created a working example with two YAML files and a Ruby script to output some of the data. I’ve shared the example as a Gist on GitHub.

The YAML file for Orestes Brownson is below, and there is another sample file for Charles Wharton in the Gist. You’ll notice that at the outermost level of indentation, there are keys and values for basic biographical information, such as born: 1803-09-16. The most important part of the model is the list of conversions, which is a YAML array as signaled by the - character and indentation. The markup for the notes field (notes: >) lets that field contain as many paragraphs as necessary. Finally, the source array has one value (@carey_orestes_2004) which is the key to an entry in my BibTeX database, which I’ve added with Vim’s autocomplete function.

<span class="c1"># A model of a convert's life</span>
<span class="nn">---</span>
<span class="s">name-last</span>       <span class="pi">:</span> <span class="s">Brownson</span>
<span class="s">name-first</span>      <span class="pi">:</span> <span class="s">Orestes Augustus</span>
<span class="s">born</span>            <span class="pi">:</span> <span class="s">1803-09-16</span>
<span class="s">died</span>            <span class="pi">:</span> <span class="s">1876-04-17</span>
<span class="s">birth-religion</span>  <span class="pi">:</span> <span class="s">Congregationalism</span>

<span class=“s”>conversions</span> <span class=“pi”>:</span>

<span class=“pi”>-</span> <span class=“s”>origin-religion</span> <span class=“pi”>:</span> <span class=“s”>Congregationalism</span> <span class=“s”>destination-religion</span> <span class=“pi”>:</span> <span class=“s”>Presbyterianism</span> <span class=“s”>date</span> <span class=“pi”>:</span> <span class=“s”>1822</span> <span class=“s”>ritual</span> <span class=“pi”>:</span> <span class=“s”>church membership</span> <span class=“s”>citation</span> <span class=“pi”>:</span> <span class=“s”>ANB</span> <span class=“s”>notes</span> <span class=“pi”>:</span> <span class=“pi”>></span> <span class=“no”>Brownson's change to congregationalism was more denominational </span> <span class=“no”>switching than a change in conscience.</span>

<span class=“pi”>-</span> <span class=“s”>origin-religion</span> <span class=“pi”>:</span> <span class=“s”>Presbyterianism</span> <span class=“s”>destination-religion</span> <span class=“pi”>:</span> <span class=“s”>Universalism</span> <span class=“s”>date</span> <span class=“pi”>:</span> <span class=“s”>1826</span> <span class=“s”>ritual</span> <span class=“pi”>:</span> <span class=“s”>ordination</span> <span class=“s”>location</span> <span class=“pi”>:</span> <span class=“s2”>"</span><span class=“s”>Jaffrey,</span><span class=“nv”> </span><span class=“s”>New</span><span class=“nv”> </span><span class=“s”>Hampshire"</span> <span class=“s”>citation</span> <span class=“pi”>:</span> <span class=“s”>ANB</span> <span class=“s”>notes</span> <span class=“pi”>:</span> <span class=“pi”>></span> <span class=“no”>“He would later refer to his years in this fold as 'the most </span> <span class=“no”>anti-Christian period of my life'” (ANB).</span>

  &lt;span class="no">Brownson was editor of _The Gospel Advocate and Impartial &lt;/span>
  &lt;span class="no">Investigator_, a Universalist publication.&lt;/span>

<span class=“pi”>-</span> <span class=“s”>origin-religion</span> <span class=“pi”>:</span> <span class=“s”>Universalism</span> <span class=“s”>destination-religion</span> <span class=“pi”>:</span> <span class=“s”>Unitarianism</span> <span class=“s”>ritual</span> <span class=“pi”>:</span> <span class=“s”>further research</span> <span class=“s”>location</span> <span class=“pi”>:</span> <span class=“s2”>"</span><span class=“s”>Walpole,</span><span class=“nv”> </span><span class=“s”>New</span><span class=“nv”> </span><span class=“s”>Hampshire"</span> <span class=“s”>citation</span> <span class=“pi”>:</span> <span class=“s”>ANB</span> <span class=“s”>notes</span> <span class=“pi”>:</span> <span class=“pi”>></span> <span class=“no”>Brownson spent some time at Brook Farm, which prepared him for </span> <span class=“no”>Transcendentalism</span>

<span class=“pi”>-</span> <span class=“s”>origin-religion</span> <span class=“pi”>:</span> <span class=“s”>Unitarianism and Transcendentalism</span> <span class=“s”>destination-religion</span> <span class=“pi”>:</span> <span class=“s”>Catholicism</span> <span class=“s”>date</span> <span class=“pi”>:</span> <span class=“s”>1844-10-19</span> <span class=“s”>ritual</span> <span class=“pi”>:</span> <span class=“s”>baptism</span> <span class=“s”>citation</span> <span class=“pi”>:</span> <span class=“s”>ANB</span> <span class=“s”>notes</span> <span class=“pi”>:</span> <span class=“pi”>></span> <span class=“no”>Brownson studied after his conversion with a Sulpician priest.</span>

<span class=“s”>source</span> <span class=“pi”>:</span> <span class=“pi”>-</span> <span class=“err”>@</span><span class=“s”>carey_orestes_2004</span> <span class=“pi”>-</span> <span class=“s”>American National Biography</span>

<span class=“s”>comments</span> <span class=“pi”>:</span> <span class=“pi”>></span> <span class=“no”>This is a minimal example of what a model of a convert might look </span> <span class=“no”>like. The historical data is hastily gathered, so only the model is </span> <span class=“no”>of interest here.</span>

<span class=“no”>N.B. I would like to replace the citations with BibTeX keys.</span> <span class=“nn”>…</span>

I had to prove to myself that I could get at the data programmatically, so I wrote the Ruby script below. It's just a proof-of-concept, and it's the first Ruby script I've written, so there are ugly parts. The script creates a class `Converts`, which loads an array of YAML files into a hash. The class has a few methods to display the names of the converts and a list of all the conversions. Doubtless there are more interesting things that can be done.
<span class="c1">#!/usr/bin/env ruby</span>
<span class="c1"># A proof-of-concept script that outputs some simple data from YAML </span>
<span class="c1"># files modeling conversions</span>
<span class="c1">#</span>
<span class="c1"># Author:: Lincoln Mullen (lincoln@lincolnmullen.com)</span>

<span class=“nb”>require</span> <span class=“s1”>'yaml'</span>

<span class=“c1”># This class loads data from YAML files, and outputs some values</span>

<span class=“k”>class</span> <span class=“nc”>Converts</span>

<span class=“kp”>attr_accessor</span> <span class=“ss”>:files</span><span class=“p”>,</span> <span class=“ss”>:data</span>

<span class=“k”>def</span> <span class=“nf”>initialize</span> <span class=“p”>(</span><span class=“n”>files</span> <span class=“o”>=</span> <span class=“kp”>nil</span><span class=“p”>,</span> <span class=“n”>data</span> <span class=“o”>=</span> <span class=“kp”>nil</span><span class=“p”>)</span> <span class=“vi”>@files</span> <span class=“o”>=</span> <span class=“n”>files</span> <span class=“vi”>@data</span> <span class=“o”>=</span> <span class=“no”>Hash</span><span class=“p”>.</span><span class=“nf”>new</span>

&lt;span class="k">if&lt;/span> &lt;span class="vi">@files&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nf">nil?&lt;/span>
  &lt;span class="nb">puts&lt;/span> &lt;span class="s2">"You didn&#39;t pass me any files."&lt;/span>
&lt;span class="k">elsif&lt;/span> &lt;span class="vi">@files&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nf">respond_to?&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">"each"&lt;/span>&lt;span class="p">)&lt;/span>
  &lt;span class="c1"># walk through the array of files, creating a hash with the &lt;/span>
  &lt;span class="c1"># file name as the key and the file data as the value&lt;/span>
  &lt;span class="vi">@files&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nf">each&lt;/span> &lt;span class="k">do&lt;/span> &lt;span class="o">|&lt;/span>&lt;span class="n">file&lt;/span>&lt;span class="o">|&lt;/span>
    &lt;span class="vi">@data&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">file&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="no">YAML&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nf">load_file&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="n">file&lt;/span> &lt;span class="p">)&lt;/span>
  &lt;span class="k">end&lt;/span>
&lt;span class="k">end&lt;/span>

<span class=“k”>end</span>

<span class=“c1”># output the hash we can see what we're working with</span> <span class=“k”>def</span> <span class=“nf”>display_raw</span> <span class=“nb”>puts</span> <span class=“s2”>"</span><span class=“se”>\n</span><span class=“s2”>This is the raw data we have loaded:"</span> <span class=“nb”>p</span><span class=“p”>(</span> <span class=“vi”>@data</span> <span class=“p”>)</span> <span class=“k”>end</span>

<span class=“c1”># walk through the hash, outputting the names of each person</span> <span class=“k”>def</span> <span class=“nf”>display_names</span> <span class=“nb”>puts</span> <span class=“s2”>"</span><span class=“se”>\n</span><span class=“s2”>These people converted:"</span> <span class=“vi”>@data</span><span class=“p”>.</span><span class=“nf”>each_key</span> <span class=“k”>do</span> <span class=“o”>|</span><span class=“n”>key</span><span class=“o”>|</span> <span class=“nb”>puts</span> <span class=“s2”>" - </span><span class=“si”>#{</span><span class=“vi”>@data</span><span class=“p”>[</span><span class=“n”>key</span><span class=“p”>][</span><span class=“s2”>“name-first”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”> </span><span class=“si”>#{</span><span class=“vi”>@data</span><span class=“p”>[</span><span class=“n”>key</span><span class=“p”>][</span><span class=“s2”>“name-last”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”>"</span> <span class=“k”>end</span> <span class=“k”>end</span>

<span class=“c1”># walk through the hash, outputting the names and conversions of </span> <span class=“c1”># each person</span> <span class=“k”>def</span> <span class=“nf”>display_conversions</span> <span class=“nb”>puts</span> <span class=“s2”>"</span><span class=“se”>\n</span><span class=“s2”>We know about these conversions:"</span> <span class=“vi”>@data</span><span class=“p”>.</span><span class=“nf”>each_key</span> <span class=“k”>do</span> <span class=“o”>|</span><span class=“n”>key</span><span class=“o”>|</span> <span class=“nb”>puts</span> <span class=“s2”>" - </span><span class=“si”>#{</span><span class=“vi”>@data</span><span class=“p”>[</span><span class=“n”>key</span><span class=“p”>][</span><span class=“s2”>“name-first”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”> </span><span class=“si”>#{</span><span class=“vi”>@data</span><span class=“p”>[</span><span class=“n”>key</span><span class=“p”>][</span><span class=“s2”>“name-last”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”>:"</span> <span class=“c1”># each person has an array of conversions (even if there is </span> <span class=“c1”># only one conversion)</span> <span class=“vi”>@data</span><span class=“p”>[</span><span class=“n”>key</span><span class=“p”>][</span><span class=“s2”>“conversions”</span><span class=“p”>].</span><span class=“nf”>each</span> <span class=“p”>{</span> <span class=“o”>|</span><span class=“n”>conversion</span><span class=“o”>|</span> <span class=“nb”>puts</span> <span class=“s2”>" + From </span><span class=“si”>#{</span><span class=“n”>conversion</span><span class=“p”>[</span><span class=“s2”>“origin-religion”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”> to </span><span class=“si”>#{</span><span class=“n”>conversion</span><span class=“p”>[</span><span class=“s2”>“destination-religion”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”> by </span><span class=“si”>#{</span><span class=“n”>conversion</span><span class=“p”>[</span><span class=“s2”>“ritual”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”> in </span><span class=“si”>#{</span><span class=“n”>conversion</span><span class=“p”>[</span><span class=“s2”>“date”</span><span class=“p”>]</span><span class=“si”>}</span><span class=“s2”>."</span> <span class=“p”>}</span> <span class=“k”>end</span> <span class=“k”>end</span>

<span class=“k”>end</span>

<span class=“c1”># get sample data by loading every YAML file in the directory</span> <span class=“nb”>puts</span> <span class=“s2”>“Let's load all the YAML files in this directory:"</span> <span class=“nb”>puts</span> <span class=“no”>Dir</span><span class=“p”>.</span><span class=“nf”>glob</span><span class=“p”>(</span> <span class=“s1”>'.yml'</span><span class=“p”>).</span><span class=“nf”>join</span><span class=“p”>(</span><span class=“s1”>', '</span><span class=“p”>)</span> <span class=“n”>c</span> <span class=“o”>=</span> <span class=“no”>Converts</span><span class=“p”>.</span><span class=“nf”>new</span><span class=“p”>(</span><span class=“no”>Dir</span><span class=“p”>.</span><span class=“nf”>glob</span><span class=“p”>(</span><span class=“s1”>'.yml'</span><span class=“p”>))</span>

<span class=“c1”># call the methods to display the names and conversions</span> <span class=“n”>c</span><span class=“p”>.</span><span class=“nf”>display_names</span> <span class=“n”>c</span><span class=“p”>.</span><span class=“nf”>display_conversions</span>

If you run the script on the sample YAML files, you get the output below. (Yes---the script does output in [Markdown](http://chronicle.com/blogs/profhacker/markdown-the-syntax-you-probably-already-know/35295). I only know one trick.)
Let<span class="s1">'s load all the YAML files in this directory:
brownson-orestes.yml, wharton-charles.yml

These people converted:

  • Charles Wharton
  • Orestes Augustus Brownson

We know about these conversions:

  • Charles Wharton:
    • From Catholicism to Church of England by conformity in .
  • Orestes Augustus Brownson:
    • From Congregationalism to Presbyterianism by church membership in 1822.
    • From Presbyterianism to Universalism by ordination in 1826.
    • From Universalism to Unitarianism by further research in .
    • From Unitarianism and Transcendentalism to Catholicism by baptism in 1844-10-19.</span>
#### What's next?

If this model works for modeling conversions, it should also work for modeling other kinds of historical events. For example, suppose a labor historian is researching strikes and kept a YAML file for each strike …

<span class="s">id:</span><span class="err">    </span><span class="s">Pullman strike</span>
<span class="s">location</span><span class="pi">:</span> <span class="s">Pullman, Illinois</span>
<span class="s">date</span><span class="pi">:</span> <span class="s">1894-05-11</span>
<span class="s">corporations</span><span class="pi">:</span>
<span class="s">-</span><span class="err">  </span><span class="s">Pullman Palace Car Company</span>
<span class="s">unions</span><span class="pi">:</span>
<span class="s">-</span><span class="err">  </span><span class="s">American Railway Union</span>
<span class="s">accounts</span><span class="pi">:</span>

<span class=“s”>-</span><span class=“err”> </span><span class=“s”>name</span><span class=“pi”>:</span> <span class=“s”>John A. Doe</span> <span class=“err”> </span><span class=“s”>source</span><span class=“pi”>:</span> <span class=“s”>Chicago Tribune</span> <span class=“err”> </span><span class=“s”>description</span><span class=“pi”>:</span> <span class=“pi”>></span> <span class=“err”> </span><span class=“no”>“Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris</span> <span class=“err”> </span><span class=“no”>malesuada, purus vel posuere aliquam, enim orci tempor quam, ac</span> <span class=“err”> </span><span class=“no”>rutrum arcu arcu nec leo."</span>

<span class=“err”>-</span><span class=“no”> name: Jane B. Doe</span> <span class=“err”> </span><span class=“no”>source: New York Times</span> <span class=“err”> </span><span class=“no”>description: ></span> <span class=“err”> </span><span class=“no”>“Maecenas in velit nulla, pretium vestibulum lacus. Morbi dui purus,</span> <span class=“err”> </span><span class=“no”>imperdiet ac aliquam sodales, gravida ut diam. Vestibulum nec erat a</span> <span class=“err”> </span><span class=“no”>ligula tincidunt dignissim in et diam. Quisque tincidunt</span> <span class=“err”> </span><span class=“no”>pellentesque lorem, a scelerisque quam lacinia vitae."</span>

and another for each union ...
<span class="s">union</span><span class="pi">:</span> <span class="s">American Railway Union</span>
<span class="s">leaders:</span><span class="err">   </span>
<span class="err">  </span><span class="s">-</span><span class="err">   </span><span class="s">name</span><span class="pi">:</span> <span class="s">Eugene V. Debs</span>
<span class="err">      </span><span class="s">start</span><span class="pi">:</span> <span class="s">1893-06-20</span>
<span class="err">      </span><span class="s">end</span><span class="pi">:</span> <span class="s">~</span>
<span class="s">founded</span><span class="pi">:</span>
<span class="err">  </span><span class="s">date</span><span class="pi">:</span> <span class="s">1893-06-20</span>
<span class="err">  </span><span class="s">place</span><span class="pi">:</span> <span class="s">Chicago, Illinois</span>
I asked about this idea at [Digital Humanities Questions & Answers](http://digitalhumanities.org/answers/topic/using-yaml-to-model-historical-lives-or-events) and on Twitter. [Chad Black](http://parezcoydigo.wordpress.com/), [Ben Brumfield](http://manuscripttranscription.blogspot.com/), Ethan Gruber, [Caleb McDaniel](http://www.owlnet.rice.edu/~wcm1/), and Conal Tuohy offered valuable advice about how to think about this problem and what tools might be helpful later in the project. The [TEI](http://www.tei-c.org/) markup for an [event](http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-event.html) and [person](http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-person.html) (recommended by Conal) seems promising because it can accommodate types of data that I know I'll need, such as uncertain dates and name changes.

For now, though, I’m going to work with YAML, since I can get started on it right away and since I’m completely sure it will work as research notes and reasonably sure it can be munged into another format later.

I’ll be glad for any advice about how to improve the data model or script and about what considerations I should think about to make sure the data is useful. If you have any ideas about what to do with the data once I’ve gathered it, I’ll be glad for those too.


After I returned from the AHA/ASCH annual meeting this January, I broke ground on my dissertation. My goal is to turn out a rough draft of a chapter every three months. For this first chapter to be drafted, I was helped in meeting the deadline by the fact that I’ve been scheduled to present the draft at a history department faculty/grad workshop in April. I sent draft to my committee on Monday, and I’ll send it to the history department later this week.

The first chapter that I’ve written will be the fourth chapter of the dissertation. It is a history of Cherokee conversions to Christianity in the first four decades of the nineteenth century.

A challenge for this chapter—as I expect it will be for every chapter—was telling a complete story in a very small frame. There is a good reason why very few histories of American religion outside surveys try to deal with multiple religious traditions at once. I tried to solve this problem by focusing on a few converts and then describing Cherokee conversions more generally. This technique was also necessary to give a narrative line to the chapter.

In thinking about what conversion meant for Cherokee Christians, I was especially helped by an essay written by Leigh Eric Schmidt: “Practices of Exchange: From Market Culture to Gift Economy in the Interpretation of American Religion,” in Lived Religion in America: Toward a History of Practice, ed. David D. Hall (Princeton: Princeton University Press, 1997), 69–91. I haven’t seen this essay cited or used elsewhere in American religious history, but Schmidt’s ideas in this essay have much interpretative power.

Briefly, Schmidt argues that historians have mostly seen American religion as a competitive marketplace, but religion is replete with the ideas about gifts. Religion functions as a gift economy—even if it also functions as or within a market economy.

In reading the records of the Moravian mission at Springplace in Georgia, and the ABCFM mission at Brainerd in Tennessee, I was struck by the observation that missionaries and Cherokee alike experienced the gift economy as a material reality. (Maybe I’ve been reading too much Marx recently, but I keep looking for economic, material realities at the root of things.) The missions and the nearby inhabitants often did not have enough, let alone a surplus for market transactions. The missions had an obligation to be hospitable. And of course, the missions were able to function because they were recipients of gifts from churches and benevolent associations. It makes sense to me, then, to look at Cherokee conversions within the context of both a market and a gift economy.



Zehnder, David J. A Theology of Religious Change: What the Social Science of Conversion Means for the Gospel. Eugene, Oregon: Pickwick Publications, 2011. xxii + 179 pages. ISBN: 978-1-61097-359-5.

Religious conversion is a topic of interest to many domains of knowledge. Historians, social scientists, philosophers, and theologians of every creed have studied and attempted to explain conversion. David Zehnder is the rare theologian—or scholar of any discipline—who has done the difficult work of crossing disciplinary boundaries to bring back the fruits of disciplines not his own. The title of his book, A Theology of Religious Change: What the Social Science of the Conversion Means for the Gospel indicates that Zehnder is a net importer of ideas, and contributing back to the social sciences is not on his agenda. He is interested in the pastoral, apologetic uses to which social scientific findings can be put. But his primary task is to mine the psychological and sociological literature on conversion in an attempt to resolve one of theology’s most longstanding questions: “the problem of why one person believes the gospel and another does not” (141).

This “theologian’s cross” is the question of how to reconcile the human and the divine role in salvation. Zehnder’s study of divinity has given him a firm position on the question of God’s role in salvation. He subscribes to a theology of monergism—the belief that God is the only active agent in salvation—that initially drew him to the theological question of predestination, and which shapes the opening and concluding chapters on theology as well many of the observations about the social science of conversion in the middle five chapters.

But Zehnder is also willing to study the human side of conversion, and has set upon the social sciences, especially sociology and psychology, as the best way to approach questions. Reconciling the social sciences and theology requires a theory of how those domains of knowledge relate to one another. This book takes a “correlational” approach that “holds theological and scientific claims in tension as different explanatory means that cannot directly contradict one another” (xv). This theory has its merits, but Zehnder is unable to consistently follow it because he does occasionally find that social science contradicts his theology.

Chapters two through six, which present the findings of social science on various topics, all follow the same pattern. A brief theological or pastoral introduction is followed by an extensive review of social scientific literature, after which Zehnder reflects on the use of the social science for pastoral concerns and its implications for theology. The book summarizes social scientific research on religious change, transformations of individuals, parental influences, ideology, and social ties as they relate to conversion. These summaries of social science read like so many literature reviews, though the book is at least more readable than many of the studies it summarizes. More problematic is the tendency to treat most research as equally valid, which flattens out the debates and disagreements within social science. But it is in his pastoral reflections on social science that Zehnder offers his most useful contribution.

The book’s contributions to theology are more troublesome. The assumption of monergism forces Zehnder to depart from his “correlational” model whenever the findings of social science contradict that central tenet. In chapter three, he correctly concludes that most social scientific research concludes that conversion is “activist”—that is, that people who convert tend to be “active seekers.” This poses a problem for both Zehnder’s method and his theology: “The active conversion is probably sociology’s most direct challenge to monergistic theology which holds that conversion is not . . . ‘a personal accomplishment’” (52–53). For Zehnder, this raises the question “whether active seekers could think that they have chosen the gospel out of a pure act of will and still have the gospel at all” (53). To his credit, Zehnder tries to take a middle road on this question, but still calls the church to action: “the church cannot view active conversion as a normative viewpoint . . . and must continually offer its corrective” (54).

This conclusion is unsurprising and unobjectionable, if one accepts the premise of monergism. But for any Christian tradition for which monergism and election are not the central preoccupations, the question is not a live one and an opportunity has been missed. A more rigorous application of Zehnder’s own correlational model would have found much more use in social science’s findings about active conversion.

In sum, readers who are not concerned with the theological problems implied by monergism, or who are inclined to see salvation as a human choice as well as a divine choice, are not likely to find the theological issues discussed in this book to be live questions. Readers who are inclined to agree with Zehnder that theology is a divine choice will find Zehnder’s theological reasonings informed by social science to be intriguing. I hope they will also find them salutary, for Zehnder’s willingness to approach both sides of the question should be applauded. And all readers can find his desire to turn “theology’s attention away from unsolvable mysteries and toward the question of how the church can communicate to people’s needs” (141), as well as his helpful suggestions to that end, to be profitable.


Maffly-Kipp, Laurie F., ed. American Scriptures: An Anthology of Sacred Writings. New York: Penguin Books, 2010. 406 pages. ISBN: 0143106198.

In his chapter on “Reading” in Walden, Henry David Thoreau complained, “As for the sacred Scriptures, or Bibles of mankind, who in this town can tell me even their titles? Most men do not know that any nation but the Hebrews have had a scripture.” Thoreau is likely as correct about our day as he was about his own. But teachers of the history of American religion and religious studies can correct the error for American sacred writings at least, thanks to Laurie F. Maffly-Kipp’s new collection, American Scriptures: An Anthology of Sacred Writings.

In this affordable paperback, published by Penguin Classics, Maffly-Kipp collects sacred texts written and published in the United States. These texts capture some of the religious diversity and creativity of American religion. The book contains a bewildering array of religious traditions: rational religion, the Latter-Day Saints, Shakers, Spiritualists, black Methodists, Christian Scientists, Seventh-day Adventists, Theosophists, feminists, traditions influenced by Hinduism, Buddhism, and Zoroastrianism. Some of the books were unpublished or virtually unknown in their own day; others were massive bestsellers. The collection contains some well-known texts, helpfully extracted, such as Joseph Smith’s The Book of Mormon, Mary Baker Eddy’s Science and Health with Key to the Scriptures, and Elizabeth Cady Stanton’s The Woman’s Bible. It also contains texts very difficult to find elsewhere.

But for all the diversity, there are several important similarities across the text. All but one text is from the nineteenth century, beginning with Thomas Jefferson’s Life and Morals of Jesus of Nazareth (1819–20) and ending with Levi H. Dowling’s The Aquarian Gospel of Jesus the Christ (1907)—a century or so of religious creativity expressed in sacred texts. But more important, almost all of these texts are an interpretation of Jesus of Nazareth. This collection of texts would work well paired with Richard Wightman Fox’s Jesus in America: Personal Savior, Cultural Hero, National Obsession or Stephen R. Prothero’s American Jesus: How the Son of God Became a National Icon, to allow students to compare the cultural history of Jesus across religious traditions and over time.

The one limitation of the text is that it is a collection of scriptures written in America, not scriptures used in America. So the most religiously and culturally significant scriptures in America, such as the King James Bible, the Tanakh and Talmud, the Qu’ran, and the Vedas and Upanishads, are unrepresented. This is hardly a fault, since those texts are readily available elsewhere, but in designing a course one would have to take it into account. Then too, the collection can give little sense of the material culture of these texts. There are some intriguing hints: Thomas Jefferson cutting and pasting his revision of the Gospels; John Ballou Newbrough writting OAHSPE on “a novel device called a typewriter” as the angels guided his hands. Again, it would be unreasonable to expect this volume to tackle the material aspect of the texts. But an enterprising scholar, taking a cue from this collection and from Colleen McDannell’s Material Christianity: Religion and Popular Culture in America, could do intriguing work on the material culture of sacred texts in the United States.

Full disclosure: At the AHA, Penguin gave me a free book-bag for buying more books than were in my budget, but no compensation for this blog post.