Skip to content
Jason A. Heppler

Microblog

Microblog

Becoming a Stylish Writer

Rachel Toor argues for academic writing that is engaging for a wider audience:

And so we get a whole lot of academic essays that seem to be written neither by nor for humans, that lack a sense of narrative, and that use an impersonal voice to brandish fancy concepts. Sometimes, as Sword shows, name-dropping is no more than that. She looks at a bunch of articles that use the word “Foucauldian” and finds many of them have only a tenuous connection to anything Michel Foucault—himself a jiggy stylist—ever wrote. Pretension wins out over clarity, originality, or even meaning.

Writing

A Few New Scripts

Here’s a few nerdy bits I’ve been working on lately in my free time – just a few scripts that I’ve been using to take care of things on my Mac automatically.

The first is a one-line bash script that will automatically delete items from my Downloads folder that are more than a week old:

#!/bin/bash

find /Users/hepplerj/Downloads/* -mtime +7 -exec rm -rf {} \;

The only additional change I want to make to the script is to log what was deleted to a text file, but I’ll work on that on another evening. I automate the script using launchd (the OS X version of cron). You can copy the code to a file called com.yourusername.cleandownloads.plist and save it under ~/Library/LaunchAgents/. You’ll either need to log out and log back in, or run launchctl load ~/Library/LaunchAgents/com.yourusername.cleandownloads.plist to get it started. The code as set up here will run at 11:50pm every Saturday night:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.hepplerj.cleandownloads</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>/Users/hepplerj/scripts/cleandownloads.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Weekday</key>
        <integer>7</integer>
        <key>Hour</key>
        <integer>23</integer>
        <key>Minute</key>
        <integer>50</integer>
    </dict>
</dict>
</plist>

Perhaps not as elegant as cron, but it gets the job done.

I don’t know if anyone will find this useful, but it’s a nice method for me. I never remember (nor enjoy) having to comb through my Downloads. This will move everything to the Trash every week for me without having to think about it. It also puts something in the back of my mind that forces me to address a download immediately (e.g., if it’s a PDF of an article I intend to keep it needs to get filed) rather than have it sit in the folder indefinitely. The next step I want to figure out is to have the Trash empty automatically.

The other script I’m loving lately is drawn from the incomparable Brett Terpstra. Borrowing from Brett, I’ve added a command to my .bash_profile that allows me to log git commits to a text file. The script looks like this:

# wrapper for git to log commits to an nvALT note
# just an overall reminder of what I did all night
function ca(){
  note="/Users/hepplerj/Dropbox/notes/universalgitlog.txt"
  msg=$*
  path=$(pwd)
  before=$(cat "$note")
  echo "$(date '+%y-%m-%d %H:%M | ') (${path##*/}) $msg" > "$note"
  echo "$before" >> "$note"
  git commit -am "$msg"
}

I send the log to my notes folder in Dropbox, which is the same directory that is indexed by nvALT. So, whenever I’m doing a new commit to git, I can just write ca ‘Here is my commit message’, hit return, git will do its business and copy the commit message to the text file. A simple task, but a nice record of things I’ve completed for different projects.

Programming

AHA Forming a Task Force on Digital Scholarship

In January, Prof. Douglas Seefeldt, my friend Alex Galarza, and myself, along with the support and advice of many others, co-authored an open letter to the American Historical Association asking them to take up the issue of assessing digital scholarship. At the end of January we were informed that the issue was being placed on the agenda for the AHA council’s mid-year meeting at the beginning of this month. I’m thrilled to see the announcement today that the AHA is establishing a task force on digital scholarship. I think it’s an important issue for the AHA to address, so I will eagerly watch how things unfold going forward.

For posterity, here is the full text of the letter (which you can also find on Google Docs):

A Call to Redefine Historical Scholarship in the Digital Turn

This document is a product of many of the exciting changes discussed below. It was the product of a session at THATCamp AHA that included graduate students, tenured and non-tenured faculty, and librarians. These participants continued their conversations at the physical conference and afterwards on the web. They have read, discussed, and edited this proposal to the AHA’s Professional Division and Research Division to ask them to call for the AHA Council to appoint a task force to survey the profession as to the place of digital historical scholarship in promotion and tenure and graduate student training and to recommend standards and guidelines for the profession to follow.

The addition of the term “digital” to the humanities signals an exciting turn spurred by both technological change and an expanded understanding of scholarship. The unprecedented number of sessions focusing on digital scholarship at the 126th Annual American Historical Association in Chicago indicates that historians are active participants in a digital revolution promoting interdisciplinary, open, and collaborative scholarship. Practitioners of digital history are producing excellent models of research, pedagogy, and public engagement. Some models unsettle our understanding of units of scholarship, such as the monograph, while others fall into the recognizable forms of journal publications and edited volumes. The encouragement and recognition of this work by peers has been important to fostering more innovation that will continue to change the field.

Digital tools are transforming the practice of history, yet junior scholars and graduate students are facing obstacles and risks to their professional advancement in using methods unrecognized as rigorous scholarly work. Their peers and evaluators are often unable or unwilling to address the scholarship on its merits. Opportunities to publish digital work, or to even have it reviewed are limited. Finally, promotion and tenure processes are largely built around 19th-century notions of historical scholarship that do not recognize or appropriately value much of this work. The disconnect between traditional evaluation and training and new digital methods means young scholars take on greater risks when dividing their limited time and attention on new methods that ultimately may not ever face scholarly evaluation on par with traditional scholarly production.

Six years ago the American Council of Learned Societies (ACLS) reflected: “We might expect younger colleagues to use new technologies with greater fluency and ease, but with more at stake, they will also be more risk-adverse. . . . Senior scholars now have both the opportunity and responsibility to take certain risks, first among which is to condone risk taking in their junior colleagues and their graduate students, making sure that such endeavors are appropriately rewarded.”1 Historians have responded to these difficulties by challenging promotion and tenure processes within their own institutions, developing graduate programs that train scholars in digital practices, and by experimenting with new models of peer-review in publishing.

These early adopters face difficulties in having their digital scholarship properly assessed and valued for promotion and tenure. The faculty of UCLA’s Digital Humanities program have noted difficulties stemming from the fact that digital projects may not look like traditional academic scholarship. They stress that “new knowledge is not just new content but also new ways of organizing, classifying, and interacting with content. This means that a major part of the intellectual contribution of a digital project is the design of the interface, the database, and the code, all of which govern the form of the content.”2 Therein lies the conundrum: the “digital turn” in the humanities is opening up exciting opportunities for complex digital scholarship, graduate programs are beginning to instruct students in the theories and methods of digital history, and institutions are hiring tenure-line faculty to pursue this new genre of scholarly communication but a concomitant evolution of the customs and standards of valuing and assessing this new model scholarship has not developed apace. Or, as the UCLA digital humanities scholars contend, “digital scholars are not only in the position of doing original research but also of inventing new scholarly platforms after 500+ years of print so fully naturalized the ‘look’ of knowledge that it may be difficult for reviewers to understand these new forms of documentation and intellectual effort that goes into developing them.” “This,” they say, “is the the dual burden—and the dual opportunity—for creativity in the digital domain.”3

Nearly two decades ago, an AHA ad hoc committee on redefining historical scholarship noted: “The AHA defines the history profession in broad, encompassing terms, but is that definition meaningful as long as only certain kinds of work are valued and deemed scholarly within our discipline?”4 We are asking the American Historical Association to again take up this question, with the ACLS’s observation in mind, and begin paving the way for evaluating digital methods and training. It is essential that the AHA demonstrate leadership to encourage these solutions and to provide guidelines for a widespread institutional definition of what counts as scholarly work in the profession. An ad hoc committee would be instrumental to help achieve the following:

  • Gather and assess data on the state of digital scholarship in the profession, such as a survey of digital humanities centers that engage in historical research, institutions that teach digital history curriculum, and a general survey of department members including chairs, directors of graduate study, faculty, and graduate students.

  • Evaluate the existing tenure and promotion practices of departments and their ability to recognize and fairly evaluate digital scholarship Encourage departments to evaluate how they are training graduate students to practice or evaluate digital scholarship as a part of their regular graduate program

  • Issue guidelines for the evaluation of digital scholarship similar to the Modern Language Association’s 2007 “Report of the MLA Task Force on Evaluating Scholarship for Tenure and Promotion.”5

The merits of digital scholarship in the historical profession demand that we again ask what counts.

Originally drafted and signed by,
Alex Galarza, Michigan State University
Jason Heppler, University of Nebraska - Lincoln
Douglas Seefeldt, University of Nebraska - Lincoln

Further edited/signed by,
Brian Sarnacki, University of Nebraska - Lincoln
Robert Voss, University of Nebraska - Lincoln
Michael J. Kramer, Northwestern University
Brandon Locke, University of Nebraska - Lincoln
Peter Alegi, Michigan State University
Chad Black, University of Tennessee, Knoxville
Heather Munro Prescott, Central Connecticut State University
Brian Rutledge, Cornell University
Miriam Posner, University of California, Los Angeles
Larry Cebula, Eastern Washington University, Cheney
Leslie C. Working, University of Nebraska - Lincoln
Gretchen A. Adams, Texas Tech University
Amanda H. Forson, Loyola University Chicago and Dominican University
Gary J. Kornblith, Oberlin College
Naoko Shibusawa, Brown University
Melissa Bruninga-Matteau, Yavapai College
Brenda Elsey, Hofstra University
Sharon M. Leon, Rosenzweig Center for History and New Media, George Mason University
W. Caleb McDaniel, Rice University
Kristen D. Nawrotzki, Pädagogische Hochschule Heidelberg, Germany
Frederic L. Propas, Instructor, San José State University
Allen Dieterich-Ward, Shippensburg University
Angel David Nieves, Hamilton College

Resources:

NCPH whitepaper

CDRH guidelines on evaluating digital scholarship

AAHC tenure guidelines

MLA taskforce evaluating T&P

1993 AHA ad hoc committee redefining scholarly work

Promotion & Tenure Criteria for Assessing Digital Research in the Humanities,”

Todd Presner, “How to Evaluate Digital Scholarship,” UCLA’s Digital Humanities program (September 2011) white paper recently circulated on HASTAC, accessed November 6, 2011.


  1. Our Cultural Commonwealth,” report by the ACLS Commission on Cyberinfrastructure for the Humanities and Social Sciences, 29 July 2006. ↩︎

  2. Todd Presner, et al. “How to Evaluate Digital Scholarship,” UCLA’s Digital Humanities program (September 2011) white paper recently circulated on HASTAC website, accessed November 6, 2011. ↩︎

  3. Presner, et al. ↩︎

  4. Redefining Historical Scholarship: Report of the American Historical Association Ad Hoc Committee on Redefining Scholarly Work,” December 1993, accessed 2012-01-09. ↩︎

  5. Report of the MLA Task Force on Evaluating Scholarship for Tenure and Promotion,” Profession (2007), accessed 2012-01-11. ↩︎

Digital history

Popup Footnotes

After discovering this post by Dr. Drang about popup footnotes, I’ve added the feature to my blog. Now, thanks to some jQuery, when you hover your mouse over a footnote link you’ll see a popup box.1

What I like about the implementation is it improves readability. Rather than jumping to the bottom of the post, the footnote appears with the main body of the text and disappears when you’re finished with it.

The code is pretty straight forward:

// this script requires jQuery
$(document).ready(function() {
    Footnotes.setup();
});

var Footnotes = {
    footnotetimeout: false,
    setup: function() {
        var footnotelinks = $("a[rel='footnote']")
        
        footnotelinks.unbind('mouseover',Footnotes.footnoteover);
        footnotelinks.unbind('mouseout',Footnotes.footnoteoout);
        
        footnotelinks.bind('mouseover',Footnotes.footnoteover);
        footnotelinks.bind('mouseout',Footnotes.footnoteoout);
    },
    footnoteover: function() {
        clearTimeout(Footnotes.footnotetimeout);
        $('#footnotediv').stop();
        $('#footnotediv').remove();
        
        var id = $(this).attr('href').substr(1);
        var position = $(this).offset();
    
        var div = $(document.createElement('div'));
        div.attr('id','footnotediv');
        div.bind('mouseover',Footnotes.divover);
        div.bind('mouseout',Footnotes.footnoteoout);

        var el = document.getElementById(id);
        div.html($(el).html());
        div.find("a[rev='footnote']").remove();
        
        div.css({
            position:'absolute',
            width:'20em',
            background:'#F7F6EE',
            padding:'0em 1em 0em 1em',
            border:'solid 1px',
            'font-size':'90%',
            'font-family': 'Helvetica, Sans-serif',
            'line-height':1.4,
            '-moz-border-radius':'.5em',
            '-webkit-border-radius':'.5em',
            'border-radius':'.5em',
            opacity:0.95
        });
        $(document.body).append(div);
        

        var left = position.left;
        if(left + 420  > $(window).width() + $(window).scrollLeft())
            left = $(window).width() - 420 + $(window).scrollLeft();
        var top = position.top+20;
        if(top + div.height() > $(window).height() + $(window).scrollTop())
            top = position.top - div.height() - 15;
        div.css({
            left:left,
            top:top
        });
    },
    footnoteoout: function() {
        Footnotes.footnotetimeout = setTimeout(function() {
            $('#footnotediv').animate({
                opacity: 0
            }, 600, function() {
                $('#footnotediv').remove();
            });
        },100);
    },
    divover: function() {
        clearTimeout(Footnotes.footnotetimeout);
        $('#footnotediv').stop();
        $('#footnotediv').css({
                opacity: 0.9
        });
    }
}

I’ve also switched my Jekyll markdown conversion to kramdown (having previously used rdiscount), which handles the creation of footnotes and inserts the return character (↩) and hyperlinking between the number and the note.


  1. Like this! ↩︎

Programming

An Alternative GTD System

Dave Lee explains an alternative GTD system for knowledge workers:

The most important thing for the creative innovator is not a ton of tasks to do but rather the ability to see what’s important to focus on and to focus on that deeply. The creative innovator needs to go deep on a feature or issue, and the deeper they go the more creativity they unleash.

My current task system is much more basic than I’ve tried to do in the past. I usually plan out the tasks I need to complete for the week, and from there decide what I need to get done each day at the start of my day or the evening before. These are my MITs and are stored as a text file in Notational Velocity.

Each project has it’s own todo list. I have a directory for each project I’m working on at the moment (Cody Archive, dissertation, scripts, etc) that contain their own todo.txt files. This might sound completely unmanageable, but it works for me. When I’m focusing on a specific project, my task list for that project is available in one spot. This lets me avoid a massively cluttered master todo list. If I’m not at my computer I have a master “inbox” todo list that is usually updated through Todo.txt on the iPhone that I will later process, assign to specific projects, and delete from the app. For projects that are not necessarily based on a directory (such as personal todos like errands or chores) I keep in a personal.txt in Notational Velocity.1

In the rest of my environment, I keep everything clean. My desktop is empty except for an “inbox” directory where I will throw PDFs, downloads I intend to keep, text files, code snippets, and anything else I might generate throughout the day and want quick access to. These are processed and placed to their appropriate folders at the middle and end of the week. I also keep a folder called “code” on my desktop for any in-progress scripts and coding I might be doing at the moment. Again, these are moved to more permanent locations either when they’re completed or at the end of the week. My physical desk is mostly clean and my email inbox is empty. It keeps clutter away and allows me to better focus.

This sort of daily focus and weekly goals keeps me on track for the things I need to complete. I find my current system emphasizing minimal tasks on a given day keeps me quite productive. Rather than fiddle with a task management tool like Things or Omnifocus (which usually just prevent me from getting my work done) I streamline my focus with basic text files organized by project.

The current system works well for me. I’ve thought about making a few changes (for example, moving all the individual todo text lists in individual project directories into their own text files in Notational Velocity to allow for faster searching) but for the time being this works.

(Via Shawn Blanc.)


  1. I also keep a text file in Notational Velocity called “qq What was I doing” where I’ll make a note on what I was working on so I can pick it up the next day. I also have a bash script I use to track git commits that I store in a universalgitlog.txt that I access from Notational Velocity so I have additional notes on work I completed with version controlled projects. Nerdy, yes, but fantastic. ↩︎

Personal

Content on the Web

Dan Cohen on the lack of publicly-created material on the web:

Over 70% of new content on the web is now produced by individuals, & very little of it can be archived because it’s in places like Facebook.

An amazing statistic. I tend to keep a lot of the things I create – blog posts, shared links, and so on – publicly available because I don’t want things locked behind a wall. Hence my preference for Twitter and Tumblr (which, incidentally, also updates Facebook and Twitter when I post something new).

Indie web

It's About the Problem

There have been a lot of discussions today about developer Jeff Atwood’s post pleading people to not learn to code. Atwood is responding to the “everyone should code” and new features like Code Academy that promises to introduce people to the ins and outs of programming.

I tend to agree with the sentiment behind Gina Trapani and Benjamin Stein – there’s a big difference between professional development and coding. One of the things coding teaches is analytical skills, logical workflow, and debugging. Few other activities combine these into situations that require all three.

What Atwood is correct in noting is “[coding] puts the method before the problem. Before you go rushing out to learn to code, figure out what your problem actually is.”

For better or worse, in my department I am the person most people come to for questions regarding programming and code. People wonder if they should take Steve Ramsay’s Ruby course (they should, it’s great) or what language they should start with. Writing code, however, is not the first step.

Writing code is about solving problems. Digital humanities practitioners should be building, and writing code certainly falls within that domain. But if you think writing code is your starting point, then you are framing the issue incorrectly. What you need is to identify solutions to problems. Building your tool is little different than your standard research paper: identify your problem, determine your users (audience), do your research, figure out where your solution fits and how it’s different from existing solutions.

Writing code is not your first step. Identify the problem first.

Programming

Newsletter

Occasional writing on the American West, agricultural history, and political culture.