Skip to content
Jason A. Heppler

Microblog

Microblog

Mendeley and Open Access

danah boyd:

Elsevier’s practices make me deeply deeply angry. While academic publishing as a whole is pretty flawed, Elsevier takes the most insidious practices further at each and every turn, always at the expense of those of us who are trying to produce, publish, and distribute research. Their prices are astronomical, bankrupting libraries and siloing knowledge for private profit off of free labor. As a result, many mathematicians and other scientists have begun stepping off of their editorial boards in protest. Along with over 13,000 other scholars, I too signed the Cost of Knowledge boycott.

I see no indication of a reformed Elsevier, no indication of a path forward that is actually respectful of scholars, scholarship, librarians, or universities. All I see is a company looking to make a profit in an unethical manner and trying to assuage angry customers and laborers with small tokens.

There’s a lot to agree with in danah’s post. I tried out Mendeley some time ago but never got on the platform, instead preferring Zotero (which I’ve been using for almost 5 years now). But more importantly, for me, isn’t what happened to Mendeley. I was never a user of the service so their purchase doesn’t affect me in any tangible way. But danah’s larger point about open access and the labor of scholars is key. The knowledge and information we create as scholars shouldn’t be locked behind expensive silos or straining library budgets with exorbitant subscriptions. We have an obligation to make our work available to anyone who might be interested in accessing it.

Academia

History Harvest Blitz Week

Next week, April 8th-12th, William G. Thomas and Patrick Jones will be hosting virtual sessions on History Harvest for anyone interested in learning more. I had the good fortune of participating in the first History Harvest in Lincoln, Nebraska, in 2010, and have watched the program grow over the last couple of years. And for all of the talk surrounding MOOCs, it’s refreshing to see alternative approaches to utilizing technology that better serves students (indeed, the Chronicle has called this a “new kind of MOOC”).

The plan for next week’s Blitz Week is to open participation into the strategic planning of History Harvest and offering an overview of the project generally. If you’re looking to learn more about History Harvest generally, I’d check out the official site or this piece in Perspectives. Professor Thomas details the plans behind Blitz Week here and here.

I love the idea behind History Harvest and the accompanying research, pedagogical, and public history aspects embedded in the program. The community-driven aspect really resonates with me, and the technology available to us – digital cameras, audio recorders, digital archival platforms like Omeka – means we have tools available to conduct and deploy such projects. Pedagogically, History Harvest provides an opportunity to have undergraduates and graduate students involved in every aspect of the project. The work happens outside the classroom and gets students and the community working hands-on with the collection, preservation, and interpretation of history – plus, there’s an added advantage of equipping students with digital skills. I really enjoyed my experience with the project, and would readily welcome an opportunity to participate in future History Harvests.

I would highly encourage you to contact Professor Thomas or Professor Jones if you’re interested in learning more and get involved next week!

Resources

Digital history

The Link Blog Experiment

For the last couple of years here I’ve tried out the link blogging style popularized by John Gruber’s Linked List. I’m not alone – many other bloggers likewise use this style to add short commentaries to the links they share with their readers. In the case of John Gruber and Jim Dalrymple, the linked blog is part of their business. For me, it was an opportunity to share things I liked or found interesting.

I enjoy the linked post blogging style and I get tremendous value out of the sites that use it effectively. However, I don’t know that it works for my site. And looking at my site analytics, my suspicions are confirmed. Most people don’t come to my site because of a link post, they come for the content.

Chris Bowler, who recently migrated blogging platforms, reevaluated his linked posts and wondered about their utility on his blog. He writes:

I wrote linked posts for two reasons. To share what interests me and to bring attention to the work of others. It’s clear that my Twitter account is a much better place for this sort of sharing, while my own site is a place for content created by me. Content that, God willing, brings value that is more lasting.

My own thinking is going in the same direction. Twitter already serves as a great space for conversations with colleagues and friends, but also works as a place of discovery. Twitter makes much more sense for me to share items, and is also dead simple with the Twitter bookmarklet (unlike my blog, which requires me to futz with Jekyll, write the post, fix any formatting, deploy the update, and double-check that everything worked). Plus, I’ve come to really enjoy using the Save Publishing bookmarklet by Paul Ford, which looks for and grabs strings of text that fit the Twitter character limit. I’m sympathetic to Shawn Blanc’s argument that tweet lifespans are incredibly short, but for a one-off item of interest Twitter works perfectly.

However, I might find a link I feel deserves a longer comment than 140 characters allows. In such case, I’ll still share the link here but not in the format I’ve been using. Instead, I’ll create content around the link – what Ben Brooks called the Kottkeian linked list. Everything that will appear on this site will be an article, while some articles might be specifically about a link. I will still keep the link in question prominent, but no longer in the title as it is now. The old-style linked posts will remain as they are, as will the Archive which separates out all posts that are explicitly linked items from the content items.

I’m not bound to the DF-style linked list. I make no money off this site, and I’m not using linked blogging to maintain consistent traffic (and revenue). Writing here is done purely for my pleasure, but I want the content here to have lasting value. I’m not sure sharing links they way I had been supports that goal. I want this space to support my writing and to use this environment to continue learning how to write.

Personal

Secrets of Data Visualization

Nate Agrin and Nick Rabinowitz offer warnings when considering the visualization of data:

One of the first questions to ask when considering a potential visualisation design is “Why is this better than a bar chart?” If you’re visualising a single quantitative measure over a single categorical dimension, there is rarely a better option. Likewise, time-based data is usually best displayed on a line chart, and scatterplots are often best for exploring correlations between two linear measures. At the risk of sounding regressive, there are good reasons these charts have been in continuous use since the 18th century. Bar charts are one of the best tools available for facilitating visual comparisons, leveraging our innate ability to precisely compare side-by-side lengths.

The corollary to bar chart superiority, and perhaps the dirtiest secret in this article, is that the coolest-looking visualisations are often the least useful. The novelty and aesthetic appeal of custom visualisations comes at a cost: the clarity of the data.

Programming

The MOOC Bubble

William G. Thomas: “The emergence of the MOOC offers another opportunity, one that humanities and STEM faculty should embrace. But the justifications Coursera and Friedman have offered ring hollow and the unrestrained hyperbole about the “reinvention” of higher education could have the reverse effect of shutting down experimentation with MOOCs, just when we need it most. That would be a shame.”

Academia

Parsing CSV Data with Ruby

Computers offer us a wonderful opportunity to automate and ease some of the tasks associated with data cleanup and preparation in the humanities. After a conversation with a researcher at CESTA on Friday, I thought about a problem he was confronting with a spreadsheet of data he is collecting that contains many thousands of rows. In particular, he is considering some methods for data mining and text analysis. The research deals in part regarding notes taken by a British consulate about freed slaves in the nineteenth century and, in this case, he wanted a method for extracting the consulate’s notes based on criteria regarding the slaves he wrote about. It would be simple enough to do some basic work like this within a spreadsheet by sorting columns based on criteria like gender or occupation, but adding those two together (e.g., where gender is “male” and occupation is “farmhand”) becomes a trickier task in a spreadsheet.

To work around this problem, I whipped up a couple of quick Ruby scripts this afternoon. The first script does most of the heavy lifting by iterating through a csv file and finding the matching options. Then, out of those matches, I locate the column that contains the data I want and tell the script to write to STDOUT (or pipe the output to a text file).

#!/usr/bin/env ruby

require 'csv'

# Load file
csv_fname = 'file.csv'

# Key is the column to check, value is what to match
search_critera = { 'sex' => 'female', 
                   'race' => 'white' }

options = { :headers      =>  :first_row,
            :converters   =>  [ :numeric ] }

# Save `matches` and a copy of the `headers`
matches = nil
headers = nil

# Iterate through the `csv` file and locate where
# data matches the options.

CSV.open( csv_fname, "r", options ) do |csv|
  matches = csv.find_all do |row|
    match = true
    search_critera.keys.each do |key|
      match = match && ( row[key] == search_critera[key] )
    end
    match
  end
  headers = csv.headers
end

# Once matches are found, we print the results
# for a specific row. The row `row[8]` is
# tied specifically to a notes field.

matches.each do |row|
  row = row[8]
  puts row
end

You’ll have to play around with the script if you’re looking to use it for your own purposes. The script is very purpose built and not at all robust or inter-operable.

The script begins by offering criteria to look for. The criteria are a key

  • value pairing. The key corresponds to the csv header (in this case, sex) and looks for the string within that column (here, female). The options should be able to handle as many criteria as needed, but I have not tested this thoroughly.

Then, the script opens the csv file and iterates through the data to locate criteria and stores the results (either true or false) inside matches. Finally, the results stored within matches are run against a row of data I want to collect (in this case, row[8] contains the data that I want). Any place where matches is equal to true, the script grabs the data from row[8] and stores the results in row, which is then output to the screen.

I suspect the script will become more complicated in the near future. One problem I’m thinking about already has to do with the way the researcher I mentioned at the beginning collected his spreadsheet data regarding the occupation of a freed slave. For example, some occupations are simply listed as “cook” while others contained a conjunction “cook and farmhand.” The problem with my script is it doesn’t have built-in fuzzy finding and looks for explicit strings (“cook” means “cook”, not “Cook” or “COOK”). As a quick fix for this, and as a way to check the data for accuracy, I have a second script I put together that simply counts the number of occurrences for a given row.

#!/usr/bin/env ruby

require 'csv'

# create an array to store the count data
unique_count = {}

# let's count!
CSV.foreach('file.csv', :headers => true) do |row|
  unique_count[row[3]] ||= 0
  unique_count[row[3]] += 1
end

# print!
unique_count.each do |val, count|
  puts "#{val}: #{count} time(s)"
end

Nothing complicated here. The script starts by creating an empty array then loads the data in. In this case, I want to check the data in row[3]. The script iterates through each row in the csv and stores a count for each unique item in the row. The results are displayed as a value - count pairing. Running the script gives something like this:

female: 36 time(s)
male: 24 time(s)

The script exists more as an aid for me as I think through the previous script: I can find unique occurrences of things like gender, occupation, street addresses, and so on, which also locates misspellings or inconsistent data. Furthermore, until I add fuzzy finding to the previous script, the counting script allows me to see unique strings that I can add as search criteria to ensure I’m collecting all the data I want.

Programming

Defining Digital Humanities

A few years ago I included a definition of digital history here on my site, in which I said:

The advent of digital technologies is changing and challenging the ways historians practice their craft. The way we collect, present, and store information has changed rapidly in the last twenty years. Digital history is several things: a methodology meant to aid the traditional art and practice of historians, the use of digital tools to gain insight into information that cannot be done with a legal pad and pen, allows historians to disseminate and present their information in new ways, and a means to reach wide audiences through digital technologies. The goal isn’t cliometrics 2.0 or to augment the theory-driven social sciences, but to abide by the historian’s commitment to complexity and nuance while utilizing digital technologies to aid that task.

This original definition emerged out of a digital history seminar, and I’m reprinting it here mainly for curation since I’ve now removed it from my site.

Those doing digital humanities tend to agonize over how we define the field (or is it a methodology?). Matt Gold’s edited volume Debates in Digital Humanities nicely sums up many of the ways people have tried to define digital humanities and what we mean when we say we do digital humanities. Certainly there are some common characteristics within the broad range of approaches, but the work itself is broad: it’s interpretation, coding, building, archives, theorizing.

Why define digital humanities? The enterprise is somewhat pointless. The promise and excitement of digital humanities lies with what we can do with it, not how it’s defined. But the queston is inescapable. We face the question from curious colleagues, students, family. My answer to them, from now on, is to pass them the URL to my new project: What Is Digital Humanities? I made the project mostly for fun, but I think it also illustrates an important feature of digital humanities: the definition is broad. Each refresh of the page gives you a new approach to the question.

Time spent on definitions is better spent on moving projects forward. Winning over our skeptical peers isn’t going to be found in definitions. And our most valuable conversations with other DHers is also not found in definitions. Doing awesome work and innovative research will do more for digital humanities than definitions.

Digital history

Digital Jubilee

Frank Chimero:

This year, I’m practicing a digital jubilee by archiving my inbox, deleting my RSS subscriptions, and unfollowing most everyone on Twitter. These, of course, will fill back up as time passes, but now I have a recurring way to purge. Practices like these have been coined “declaring bankruptcy” by the digital lifestyle blogs, but I think the phrase misrepresents the practice. Cleaning the digital slate is not a practice of giving up. It is one of self-forgiveness.

This sounds like a great idea.

Indie web

Newsletter

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