Category Archives: dh

Teaching Toolbox 2018


Do you have students work with timelines in class? Do you teach surveys, or long texts that have substantial narrative components unfolding over time? Have you used Northwestern University’s Knight Lab’s Timeline JS?

I am developing an assignment that uses Timeline JS to recreate a novel with enriched digital resources.

TimelineJS is an open-source tool that enables anyone to build visually rich, interactive timelines. Beginners can create a timeline using nothing more than a Google spreadsheet [and experts] can use their JSON skills to create custom installations, while keeping TimelineJS’s core functionality.

Here is a sample timeline using Timeline JS to explore the history of Women and Computing.

It uses Google Sheets to organize the information and an open-source javascript code that renders that information in an easy-to-use timeline. Timeline JS can incorporate media from many sources to help you develop rich timelines for a variety of purposes–teaching or learning content, studying for exams, learning about research and writing, and much more.

TimelineJS can pull in media from a variety of sources. Twitter, Flickr, YouTube, Vimeo, Vine, Dailymotion, Google Maps, Wikipedia, SoundCloud, Document Cloud and more!

I am testing what this might look like in an assignment focused both on understanding a novel–Frances Burney’s Evelina--and learning how to research using quality, reliable, freely-available materials online. My task is complicated by the fact that Evelina is an epistolary novel, which means it is told entirely in letters, and the dates are not always confirmed.

My ideal use of this tool would be in EN340: Major Women Writers, which is LT-2 and WI, but I could also imagine incorporating it in a history or a survey course.  By sharing the google sheet on which the timeline is based via Canvas, students could be assigned letters or chapters to add to the timeline.

Some things I’ve discovered so far are that you can add entries in the timeline to groups, useful for visualizing the epistolary network of who writes to whom, and you can also use simple numbers instead of dates in the year category–by doing that, coupled with providing a “display date” that can be a text string, one can create a non-date-specific timeline, useful for a novel. Here is a link to the working timeline, which is embedded below.

Things to consider when developing the assignment:

  • How and when to paraphrase or excerpt a representative quote from the letter? This might teach identifying importance, a notoriously difficult skill for students to learn.
  • How to identify what makes a relevant media resource linked explicitly to the letter? This is useful for teaching research and information literacy.
  • How to cite and caption that media resource? This helps with citation and “filling in the gaps,” which is important for clarity.
  • How might the assignment divide the work, if students work in groups?
  • How best to use the date/display date tools, given the nature of the text you’re working with? Evelina is sometimes dated (often not), and is organized by letter number.
  • Add a title slide to your timeline by giving it the type feature “title”. “Era” types need a start and an end date. One could usefully define large chunks of the narrative by using “era”–for instance, Volume 1 of Evelina, or the time Evelina spends in London with the Branghtons.

Here is my working sample; the link above will take you to a full-screen version:


Demo Timeline: Evelina


Have you used Timeline JS to recreate a novel with enriched digital resources? I am testing what this might look like in an epistolary context, using Frances Burney’s EvelinaBy sharing the google sheet on which the timeline is based, students could be assigned letters or chapters to add–some things I’ve discovered so far are that you can add entries in the timeline to groups, useful for visualizing the epistolary network, and you can also use simple numbers instead of dates in the year category–by doing that, coupled with providing a “display date” that can be a text string, one can create a non-date-specific timeline, useful for a novel.

Things to consider: how and when to paraphrase or excerpt a representative quote from the letter, identifying what makes a relevant media resource, how to cite and caption it, using groups (how many can be used?), how best to use the date/display date tools, what is the “type” feature.


@AustenSays twitter bot


With the help of Zach Whalen’s extraordinarily clear instructions, I set up my first twitter bot, @austensays, which tweets out a single sentence (provided it’s 140 or fewer characters) from Jane Austen’s novel Mansfield Park. I was teaching the novel last term, and while this started out as a form of procrastination, it actually turned out to offer some interesting insights about tone, style, and voice.

I procured a copy of Mansfield Park from Project Gutenberg, and then ran some regular expressions to separate it out into individual sentences–I looked for the ends of sentences, as indicated by periods, and then added a line break after each. This I could then copy directly into a google spreadsheet, which was much simpler than I’d anticipated, as each paragraph became its own row in the spreadsheet. The data preparation I did does not register exclamation points or question marks as line breaks–more robust regular expression searches would help me do this, and look for capital letters after such punctuation, but for the time being I chose to simplify this way. If you’re curious about the data, here is the spreadsheet.

What I was surprised by the way that genre of “the twitter post,” with all its restrictions, proved perfect to capture the sense of distance, even isolation, in much of the novel. It also offers an opportunity for readers to see, in a microcosmic way, how Austen’s irony works. For instance:

Many of these tweets, for instance, exemplify the use of passive voice, and the fraught simplicity of the verb “to be.” The broad sparseness of the sentence structure employed injects an element of loneliness in the language, which is embodied in Fanny’s experience. Other patterns we might notice include the use of the comma to balance, in a strangely imbalanced way, sentences like these:

It is as though you can hear the pause of a sigh in each comma. With more refined data, I wonder what else this kind of algorithmic reading can reveal? Ultimately, then, this was not quite as much about procrastination as I might have initially thought. 🙂


Aphra Behn Society 2015: Wikipedia Workshop


I love going to (to me) new conferences–not only do I get to learn about exciting work in the field, but I also get to meet new people and, ideally, expand my collection of “regularly-attended.” What strikes me most about the Aphra Behn Society is its collegiality, its openness to and mentorship of graduate student work, and the palpable sense of feminist solidarity practically oozing from each session. Very happy-making!

Despite the fact that I am in desperate need of sleep and time to catch up on mounds of grading–and as a result not doing the friendly-joining-thing I should be doing–I am excited to be here and am most definitely planning on returning. ABS reminds me a bit of the EC-ASECS regional conference in terms of general tone, though the crowd here is rather different–I don’t see too many overlapping faces. I may have two new conferences to make a habit of!

Tomorrow, I’m co-leading a workshop with Laura Runge on using Wikipedia in the classroom. My EN340 course this term, Major Women Writers, is doing a Wikipedia project for one of the novels I’ve assigned–Charlotte Lennox’s Henrietta. It seems to have proven (surprisingly, for me!) a lot more challenging than expected–students were very confused, in general, by the way the first book is essentially Henrietta telling her story to Miss Woodby. Coupled, of course, with the fact that there is no Wikipedia entry on the novel, and my students are rather struggling!

A bit of background on the class–it’s a LT-2 Liberal Arts Core course (advanced literature), and it’s also Writing Intensive. This means I have at most one major, and this term, none–challenging, but it does free me up to do all sorts of experimental things. My goal is, at root, twofold: 1.) get at least a handful of students excited about reading something from “back in the day” that apparently has absolutely no (right?) relevance for the modern world, and 2.) hopefully instill a sense of curiosity about writing done in public. I’ve designed a project organized around Wikipedia, since I know most of my students use it as a crib-sheet of sorts–I routinely see the pages on Fantomina, “The Reformed Coquet,” and Evelina up on their laptops during discussion, and so many were frustrated by the lack of readily available information on Henrietta. What better way to instill a bit of healthy skepticism about their sources, while encouraging students to help others in their same situation, while modeling the kind of DIY practices that I believe are essential to being a well-rounded citizen of the world, while also engaging students in just the kind of real-world writing that frequently goes unnoticed as writing. Enter: Wikipedia.

I’m presenting tomorrow at 1:45. Hope you can make it! The project details–from assignment to homework to groupwork–are all available in PDF, here. But, for simplicity’s sake, I’m also posting below an overview of how I structure the project from pre-writing to submission:

Charlotte Lennox’s novel Henrietta does not have a Wikipedia page, by which I’m sure you’re all distressed! So, let’s help out future students by creating one. This is a full-class project. See the entire assignment sheet on Canvas.

Pre-project work:

  1. Homework: Complete the Wikipedia Training for Students tutorial:
    1. Create your account
    2. Explore your sandbox
    3. Create your user information page / biographical sketch
    4. Submit your User Contributions URL via Canvas
  2. In-class: Team Wikipedia Quiz / Go over assignment
    1. In-class: (Activity A) How to recognize original research, point of view problems
    2. In-class: Structure/content: Look at “Fantomina” and Evelina pages–what is included?
  3. Homework: Write 1 paragraph for each part of our hypothetical page, upload to Canvas
    1. summary
    2. key characters
    3. theme
    4. style
    5. overview
  4. Homework: Canvas discussion board research post: Find 1 scholarly or biographical source (no overlaps!), download it to your computer. Read it, and post to Canvas discussion board:
    1. bibliographic entry
    2. upload the source
    3. write 1 paragraph overview/summary of the source
  5. In-class: Wikipedia Workshop/Activity B
  6. Homework: Revise in groups
  7. In-class: Lab revision time; add a source; add an image; add a template note
  8. Homework: Revise in (different) groups; sources, content, and writing
  9. In-class: Lab revision time
  10. Homework: Revise
  11. Due: Your user contributions page URL to Canvas

New OS, new eXist install


Hankering for a change of some sort–though goodness knows why I think I need even more of that in my life, but that’s an existential question best left offline–I decided recently to ditch Windows and commit fully to Ubuntu. I had 11.04 on a computer I didn’t really use all that often, sort of an excuse to continue using Windows, but I don’t know. I guess I just wanted to dive in. Also, I had run into some (more!) problems with GitHub that involved not being able to reconcile branches–I can’t even talk about it. So, I took the coward’s way out and just started from scratch.

Truthfully, I’m always astonished at how much easier things are when you have a general level of literacy about how to find good information.

I’m happy to say, everything so far has gone smoothly–my clunky old ThinkPad T420 is has been de-Fenestrated; I’ve got a nice, shiny new install of 15.04 (Vivid Vervet), and yesterday I turned my laptop into a server with xampp. I had to install Java 8, which was a bit dicey, but an Internet connection and mad Google skillz prevaled. My goal for today was to get eXist-db 3.0 up and running, which was pretty straightforward, especially after having received some help a couple of months ago from @joewiz. The documentation at is wonderfully useful, overall.

But then I thought I’d restore from a backup I’d made, without fully reading that wonderful documentation, and ran into some troubles–notably, a namespace exception:

err:XPST0081 error found while loading module restxq: Error while loading module modules/restxq.xql: No namespace defined for prefix text [at line 271, column 40]

I tried doing the repairs using the xQuery  advice given here,  from the Java admin client, but then I discovered that the Java 8 security settings were too high and I couldn’t run it–so, I had to add an exception, which was a little confusing, as the address I expected, “localhost”, didn’t work. Turns out it was “http://localhost:8080”, but the address was hidden beneath another window. Anyway, that done, I could open the Java admin client, open a connection, and then TOOLS>QUERY to run the xQueries on the server that would clean it up:

xquery version "3.0";
import module namespace repair="" 
at "resource:org/exist/xquery/modules/expathrepo/repair.xql";

Of course, this didn’t work–I was still getting the error from earlier. So, instead of doing more research, which I should have done, I sent an email to the eXist-db forums; just afterwards, I found the answer to my (and other peoples’) question about the start error, here and then from there, to Wolfgang’s fix. Ta-daaaa! The power of other people, I tell you.

Now that that’s done, I can see my restored app on my new localhost install, and that makes me very happy indeed. Now, to continue wrangling with github, upgrading my TEI, and adding functionality to the project!

UPDATE: While I could see my app in the dashboard, and I could run the app, I was unable to use eXide or collections to access files in the app or update them–and everything I did get opened in eXide was opened read-only. It looked as if my db was empty:


The eXist documentation package was also not working; this is what appeared when I tried to open fundocs from the dashboard:

It turned out to be a problem easily fixed–installed packages all needed to be updated via the package manager, and then the dashboard and shared resources repository needed to be re-connected and updated. The xQuery to do that is here, via Wolfgang:

repo:install-and-deploy("", ""),
repo:install-and-deploy("", "")

Now, all is right with the world! Well, with the world on my laptop.