Miskatonic University Press

Managing the draft of a paper as if it were source code

09 December 2011 publications

A couple of months ago I submitted a paper to the Code4Lib Journal called “On Dentographs, A New Method of Visualizing Library Collections.” The editors were interested in it and one of them, Gabriel Farrell (@g5f), was assigned to see the paper through the process and work with me on editing and improving the draft.

The last paper I did, Sarah Coysh and I started writing it in Google Docs and then moved it down to Microsoft Word and shared the file on Dropbox. We submitted the Word file and then worked with the editor using the comments and track changes features in Word.

That all worked well for that situation, but on my own I avoid Word as much as I can, and anyways it just doesn’t feel right to do something Code4Lib-related in a proprietary system. Because a C4LJ paper ends up being HTML, I decided to write it in Markdown. Markdown is plain text, with very limited and unobtrusive markup, nice and simple. It keeps all the cruft out of the way and is mostly meant for conversion into HTML but can also be turned into other formats. Emacs’s Markdown and outline modes help. I made a little Makefile so that with one command I could regenerate a fresh HTML version of the paper and publish it to my site if I wanted.

After Gabriel got assigned, he asked if I was interested in working together by sharing the draft files through a distributed version control system. He’d done it before and said it worked well. I said sure.

The result: a GitHub repository of the draft of On Dentographs.

dentograph-paper.markdown is a plain text file (GitHub renders it as HTML; click raw to see how it really looks) that is, in effect, the source code of the paper. Gabriel has forked the project and when he has a change to make he will edit his copy of the file, commit it to his repository, and then send the suggested changes to me in a “pull request.” He’s submitting patches to my source text, same as if we were working on a software project together he would submit source code patches. I get notified and can accept, modify or reject the patches.

I’d never heard of this being done (perhaps it’s not uncommon?) but I think it will work very well. If you’re interested, you can watch the project and see how the editing goes — submit a patch of your own if you want, and I’ll consider it. The final draft will be in by the end of the month and if they accept it it’ll be online in final form at the end of January.

P.S. I have these lines in my .emacs so that .markdown files work how I want:

;; markdown-mode
(autoload 'markdown-mode "markdown-mode.el"
  "Major mode for editing Markdown files" t)
(setq auto-mode-alist
  (cons '("\\.markdown" . markdown-mode) auto-mode-alist))
(add-hook 'markdown-mode-hook 'turn-on-outline-minor-mode)
(add-hook 'markdown-mode-hook 'turn-on-visual-line-mode)

Information Literacy Ryan Gosling

06 December 2011 libraries

In the spirit of Feminist Ryan Gosling and Biostatistics Ryan Gosling I thought that Information Literacy Ryan Gosling might work:

Picture of Ryan Gosling saying Hey girl ... I'm really impressed by your understanding of the many economic, legal and social issues surrounding the use of information.


Code4Lib Ryan Gosling

06 December 2011 code4lib libraries

Hey girl ... your node.js MARC to RDF serializer is so good, there's no point in forking your GitHub repo ... I'll just watch the diffs


Cheese and sandpaper

19 November 2011 art

Photograph of hors d'oeuvres: slices of cheese on sandpaper

“Would you care for some cheese and sandpaper?”


How much do "web-scale discovery services" for libraries cost?

09 November 2011 libraries

Web-scale discovery services for libraries are search engines that allow people to search not just titles of books and videos and journals but to dig deeper down into the articles inside journals, and chapters inside books, and more. In theory they bring the full power of a search engine like Google to all of the content a library holds — and in practice they pretty much seem to do that. They’re not perfect, and it’s a complicated question as to who the right user is for such a system, but they are solving the problem of how stupidly, unutterably, pants-wettingly difficult it can be to find an article in a journal.

Example of such systems:

Notice there are no prices on any of those sites.

Traditionally libraries have been very secret about how much they pay for things. The vendors want that and build it into contracts. They want to have lots of freedom to cut deals, to make side arrangements and to negotiate, and they can’t do that if the Freedonia Public Library announces they just paid N thousand dollars for their system. The Ballygobackwards University Library system next door, that last year paid three times that for the same system, would be royally cheesed (even though their collection is larger and they had more finicky details to be ironed out).

I’m curious, though: how much are libraries paying for these systems? If you know, even roughly, let me know. I won’t attribute any sources. If it’s rumour, that’s OK. I won’t mention the library system. I’m wtd@pobox.com and @wdenton on Twitter.

(Updated 10, 11 November 2011; 5 December 2011) Various people have reported:

  • Ebsco Discovery Service: $30,000 - 35,000 per year (Australia)
  • Ebsco Discovery Service: $35,000 for one year, going up by 3% the next two years (US)
  • Ebsco Discovery Service: “about $150,000” (Canada, probably just rumour)
  • Primo: $40,000 - $45,000 per year (Australia)
  • Primo: $30,000 per year (US)
  • Summon: “high five figures” which I took to mean $75,000 (Canada)
  • Summon: “twice that” which I took to mean $150,000, for a three-year contract, i.e. $50,000 per year (Canada)
  • Summon: $40,000 per year (Europe)
  • Summon: $45,000 - $60,000 per year (Australia)
  • Summon: $50,000 per year (US)
  • Summon: $55,000 per year (US)

(I’m leaving this in Canadian dollars, but Canadian, American and Australian dollars are all around par right now.)

Some people have mentioned implementation fees ranging from $3,000 to $10,000 for different products. Vendors may offer other products as part of the deal, but those costs aren’t broken out.


THATCamp GTA 2011

01 November 2011 conferences

On Saturday 22 October 2011 I attended THATCamp GTA, where THAT = The Humanities and Technology and GTA = Greater Toronto Area. I thought I’d post a quick summary and some links, though be warned, this will be nothing like as well written or thoughtful as A Walk with Love and Data, Peter Binkley’s memoir of his time at Access 2011 in Vancouver.

(Digression on humanities: there’s a building in Toronto that used to be called the Medical Arts Building and is now called the Jackman Humanities Building. The old name was carved above the door in mock Roman lettering: MEDICAL ARTS BVILDING. When the University of Toronto took it over and renamed it they kept the same style, so now it says JACKMAN HVMANITIES BVILDING. I wonder if there is much DIGITAL HVMANITIES going on inside.)

I’d never been to a THATCamp before but from all I’d seen online they were exciting events with smart and interesting people, where @dancohen and @nowviskie briefly confab with @eosadler in the hall and whoosh, a Zotero/Blacklight hybrid is born and two weeks later we’re all running #zotelight (or possibly #blackero), a Ruby on Rails discovery layer and collaborative scholarship tool implemented as a browser extension, and everyone’s Twitter feeds are drenched with chat about it.

This one wasn’t quite as exciting as I’d hoped (it was more yackfest than hackfest), but I’m glad I went, and it was definitely filled with smart and interesting people. I think that because it had more humanities professors than programmers it was less solution-oriented than I’m used to: academics habitually problematize, while geeks at hackfests want to solve a problem by the end of the afternoon and then head out for beers. I would have liked some more concrete next steps, but I certainly enjoyed it as it was.

We started off in a very nice room down at Ryerson University in the centre of Toronto, on the seventh floor with a great view of the skyscrapers. There were perhaps fifty people there. Ryerson prof @jasonaboyd introduced things, and then we began, as unconferences often do, by writing down ideas for possible sessions and posting them for people to see, discuss, and vote on. We ended up with three streams of four sessions each, with some sessions being a glomming of several proposals. That often happens at unconferences like this, I think, and it means more people at the sessions, which can be good, but also that they can be watered down or a bit unfocused. I chatted with @adr, @scriptavore, colleague @timothybristow, and others.

The first session was about digital humanities and libraries. Good discussion, with a mix of people, including professors from various disciplines and librarians and archivists and library school students. I didn’t make any notes, and I can’t remember the details, but I remember recommending that people use version control tools like GitHub and that people be ready to host their projects on domains they run, so they have flexibility and control, because at most institutions, as much as the library wants to help, it can’t be as flexible or fast as people will need.

The second one I went to was about augmented reality. Good discussion, and I learned about some platforms I didn’t know, like Qualcomm’s platform and Unity, and I talked a bit about Layar and BuildAR, which look more immediately usable.

At lunch a few folks went to The Queen and Beaver, a very nice pub a couple of blocks away. I was with @deantiquate (my archivist colleague from York), @devonelliott, and @electricarchaeo and his student @mtl_zack, all of whom are doing very cool work. I didn’t expect to run into an archaeologist who had done his dissertation on Roman brick stamps and then later used NetLogo to write software agents that tested a model of information transmission in the ancient world, or a historian who was looking at how information was managed and transmitted by early twentieth-century magicians (and fabbing old tricks), or a fourth-year student who was modelling who attended feasts in ancient Greece, but there we were, sitting around at the pub, chatting away.

It’s times like that when I’m reminded of how much fun this business is.

We got back to lunch a bit late, so I missed some of a session about computer programming and the humanities. The last session was about timeliness and mapping. Someone whose name I missed had some interesting data about Tibetan monks that she wanted to visualize, along the lines of SIMILE’s Timeline, but she wondered if there was any way not to use the old standard time slider widget. We ended up all shooting the breeze and throwing around some fun ideas (what if she froze time and made sliders for spatial dimensions? Whoa, man!) but no-one had actually ever done anything with timelines or much with mapping, so we didn’t get too far.

Then it all wrapped up with a discussion about how to keep Toronto-area digital scholars in touch with each other through GTA Digital Scholarship and generally how to continue all the good things that had happened that day. I chatted with two people who finished their PhDs at York this year, @jburnford and @ianmilligan1. A bunch of people went to what sounded like a really fun hardware hackfest (and where @williamjturkel would appear in person, his name having come up many times through the day even in his absence), but I missed it because I was off to see I Send You This Cadmium Red.

Some links I noted:


20 git commit messages

09 September 2011 vagaries

Two years ago I wrote up how I use Emacs for Getting Things Done, and how I maintain my GTD lists with the version control system Git. Here are my last twenty commit messages (in chronological order; the final one is from a half an hour ago) on my lists of next actions, waiting fors, projects, and so on:

  • Various updates; plus mobile footer updated
  • Mobile updates done, I think
  • makehours.sh
  • Some minor notes
  • Various stuff today
  • One more day until vacation
  • Vacation
  • Back to work
  • A note
  • Midday checkin
  • Going home
  • Leaving early; will work from home later
  • Om mani padme hum
  • Going home
  • Going home
  • Friday going home
  • Decent day
  • Working on laptop
  • I fear a merge a-coming
  • Yeah, had to merge

Nowhere near as exciting as Cory Doctorow’s checkin messages with Flashbake:

Every 15 minutes, Flashbake looks at any files that you ask it to check (I have it looking at all my fiction-in-progress, my todo list, my file of useful bits of information, and the completed electronic versions of my recent books), and records any changes made since the last check, annotating them with the current timezone on the system-clock, the weather in that timezone as fetched from Google, and the last three headlines with your by-line under them in your blog’s RSS feed (I’ve been characterizing this as “Where am I, what’s it like there, and what am I thinking about?”). It also records your computer’s uptime. For a future version, I think it’d be fun to have the most recent three songs played by your music player.

The effect of this is to thoroughly – exhaustively – annotate the entire creative process.


Scott Phillips, The Adjustment

28 August 2011 reviews

Last October I posted about Rut, a dystopian SF novel by Scott Phillips, published by Concord Free Press in an unusual arrangement where they give away the book but you donate money somewhere in exchange, and then pass the book along to someone else.

Now Phillips is back with The Adjustment, published in hardback the old-fashioned way. It fits in with The Walkaway (2002) and his other Wichita novels, but it also stands alone perfectly well as a tight, fast-moving noir. It’s very good.

Blithe psychopath Wayne Ogden is out of the Army and back in Wichita, Kansas just after World War II. He’s got a job as minder and fixer for a rich, powerful, debauched local businessman. This review in the Los Angeles Times gives a good summary of the story, and gets the atmosphere of the book well: “What draws us to the book is Phillips’ taut and vicious vision, so clean we cannot help but inhabit it, even when we find ourselves repelled.”

There’s a hilarious filthy bit on page 98 that I won’t quote, but here’s another quote that’ll give you a sense of the book.

He was about my age and looked to be in sound health. “Let me ask you something, buddy. You in the war?”

“Sure was,” he said. “You?”

“Yeah. Miss it?”

He looked at me in the rear view mirror like I was either kidding or crazy. “Hell, no. I never had a worse time in my damn life than in the lousy goddamn Navy. There’s a petty officer I came pretty damn close to killing. If I thought there was any chance of getting away with a murder on a United States aircraft carrier I by God would have done it, too, no regrets.”

I almost laughed; there was the Navy for you. An Army man would have figured out a way, and a Marine would have just killed the son of a bitch and damn the consequences.

[Updated 29 August with a link to Open Library.]