The interrobang on 99% Invisible

Long-time readers will remember that 99% Invisible, the wide-ranging podcast hosted by Roman Mars and produced in beautiful, downtown Oakland, California, featured an episode on the octothorpe back in December 2014. It’s a great listen: 99PI producer Avery Trufelman managed to track down Doug Kerr and Lorne As­plund, two of the engineers at Bell Labs who were instrumental in placing the ‘#’ on the then-new telephone keypad and later christening it as the “octothorpe”, to get the story behind the mark’s rebirth in the computer age.

Well, I’m happy to report that 99PI has just released a new episode on another familiar shady character: the interrobang! I first spoke to 99PI producer Joe Rosenberg about Martin K. Speckter’s (in)famous mark of punctuation back in 2012, so it has been a slow and winding road for this particular instalment, but it is finally here and it was worth the wait. Joe interviewed Martin’s widow, Penny, to learn more about the interrobang’s creation, and also talked to one Judge Frank Easterbrook, perhaps the most distinguished person ever to use an interrobang in anger. The full episode is available now, and it is great. Many thanks to Joe for sticking with the subject for all these years!

The featured image here shows sketches for the extra bold weight of Richard Isbell’s typeface “Americana”. Thanks to Fritz Klinke on Flickr for the use of his image.

Housekeeping № 3: moving to HTTPS

A very quick note this week: Shady Characters now runs exclusively over HTTPS. What does this mean? Well, rather like my recent post about how references work here on the blog, my hope is that very little will change — other than an extra ‘s’ in the site’s address.

Briefly, “HTTP” stands for “HyperText Transfer Protocol”. This is one of the basic technologies on which the world wide web runs:* it comprises a finite series of verbs that describe actions and a near-infinite collection of addresses (“Uniform Resource Locators”, or URLs) describing the things on which those verbs act.1 As an example, the verb GET retrieves a resource such as a web page; conversely, POST and PUT create and update resources such as comments. When you type an address that starts with http:// into your web browser, you know that your computer will use the HTTP protocol to access it.

HTTPS”, then, stands for “HTTP Secure”.2 That extra ‘s’ signals that all traffic between your web browser and the remote computer, or web server, which sends those HTTPS pages to you, is cryptographically scrambled so that no-one else can tell what information is exchanged between the two. This is precisely why banks and other financial institutions were among the first to embrace HTTPS — neither the state of your finances nor your instructions as to what to do with them are vulnerable to eavesdroppers.

For Shady Characters, moving to HTTPS means two things. First, all web addresses now start with https:// rather than http://. Second, no entities involved in the communication of data between this website and your web browser can inspect the data that flows between them. In particular, the exact address that you happen to be viewing at any given time (such as or remains hidden, as do any messages that you might send to me via the Contact page.

It could be argued that HTTPS is overkill for a blog like Shady Characters. That said, the web is inexorably moving in the direction of enhanced security and privacy and HTTPS is a non-negotiable part of that movement. I want to provide visitors with the same assurances of security that you would expect of any other responsibly-run site. Separately, HTTPS is a prerequisite for using the newest version of the HTTP protocol and, although doesn’t support it yet, it should eventually provide a nice bump in performance. Web pages will feel snappier as well as being more secure.

And that’s it! Feel free to carry on browsing as normal. You don’t even have to update your bookmarks, since the site itself will automatically redirect you from plain old http:// addresses to shiny new https:// ones. Let me know if you have any questions or comments, and thanks for reading!

R Fielding and J Reschke, “Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content”, 2014. 
R Fielding and J Reschke, “Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing”, 2014. 
The other main web technology is HTML, the file format in which web pages are described. 
Comments are encrypted too, although of course once submitted they will become visible to all visitors. 

Miscellany № 85: you only have one *

Trail sign at Asterisk Pass.
Trail sign at Asterisk Pass. (Image courtesy of at Travis Kochel at Trail Type.)

We’ve visited Ampersand Mountain, with its eponymous creek and hotel, and we’ve heard tell of mythical San Seriffe Island; now, welcome to scenic Asterisk Pass in Oregon’s Smith Rock State Park! This excellent image was taken by Travis Kochel of Trail Type. Many thanks to him for permission to republish it.

Unfortunately, there doesn’t seem to be much information out there on why Asterisk Pass was named as such. 1859 magazine suggest that the pass was given its name in the 1950s by a pair of brothers, Jim and Jerry Ramsey, and their friend Jack Watts,1 but why they chose that name isn’t recorded. Looking at pictures of the pass (such as the one below, taken by Kelle Cruz), however, I can’t help but wonder if the precariously balanced rock in the centre of the pass might just about be thought of as an asterisk* poking its starry head up above the letters surrounding it in a sentence. If you know more, please let us know in the comments below!

Asterisk Pass, by Kelle Cruz
Asterisk Pass. (CC BY-NC 2.0 image courtesy of Kelle Cruz.)

Whatever the story behind Asterisk Pass, if you should ever visit then take heed of the sign at the trailhead: this is a route for climbers, not for walkers. Remember, you only have one *.

A few links this week:

  • The Economist presents an entertaining read on the history of typesetting competitions.
  • The New York Times reports on a long-running legal case whose resolution hinged on an Oxford comma — or rather, on the lack thereof. Without going too far into the details, the case amounted to an argument over the meaning of the following sentence:

    The canning, processing, preserving, freezing, drying, marketing, storing, packing for shipment or distribution of […] produce.

    The plaintiffs, a trio of truck drivers suing for more overtime pay, argued that the final clause should be interpreted as referring to “packing for shipment” and to “packing for distribution of […] produce” — that is, that “distribution of […] produce”, without the “packing” part, is not referred to as a discrete activity. Their employer, a dairy in Maine, asserted instead that the sentence referred to “packing for shipment” and, separately, to “distribution of […] produce” with no attendant packing. The absence of a clarifying comma makes all the difference.

    I won’t spoil the ending — have a read of the article itself to find out which interpretation won the day.

  • Also in the NYT is a illuminating article about Kazakhstan’s attempts to move from Cyrillic to the Latin alphabet. It has everything: an authoritarian leader; an ex-Soviet state striving to recover its own identity; and a reactionary church resisting the change. Oh, and apostrophes. Lots of apostrophes.
  • Lastly, a tweet by @ampersandconf (the Twitter account of Brighton’s annual Ampersand typography Conference) took me to the endlessly fascinating Archive of Styles maintained by the Alberto Tallone Editore press of Torino, Italy. It’s a photographic archive of everything from fonts to typesetting tools, and it is quite the rabbit-hole for typophiles and punctuation enthusiasts. Of special note for readers of Shady Characters are the archive’s collections of manicules, asterisks and crosses, and related miscellany.
“Pioneers of Climbing at Smith Rock”, 1859 Oregon’s Magazine, 2012. 
Like this one. 

Housekeeping № 2: citations at Shady Characters

Giving credit where it’s due has been an important part of writing for Shady Characters since I started back in 2010. Where I use an image that I don’t own myself, for instance, I try my best to find the owner, obtain their permission and then credit them in the caption for their work. Equally as important, I try to link to or cite all of the sources I use when writing about a given subject. That last part has given me no end of grief, and that’s what I’m going to write about today.

What follows is more than a little bit technical, so if you aren’t interested in the mechanics of how scholarly references work online you might want to find some alternative reading material. Might I suggest Glenn Fleishman’s introduction to his new book,1 London Kerning, in which he gets under the skin of London’s long history of type, typography and printing? It’s a great read.

For the rest of you: here we go!

In the beginning

The Shady Characters website runs on a piece of open source software2 called WordPress.3 WordPress is a content management system, or CMS, that stores and displays text and images and takes care of a host of related organisational tasks into the bargain. Like most other CMSes, WordPress is both bare-bones and open-ended at the same time: out of the box, it can’t do much other than manage a simple, blog-style website, but it can be extended by means of additional software packages, called “plugins”, that are designed to hook into the core WordPress software and provide extra services ranging from footnotes4 to spam filters.5

Given all this, one of the challenges when I first started the site was to find a plugin I could use to insert references into posts in a simple, consistent way. Actually, that’s not quite true. What I wanted was a system that could make use of my existing library of references, managed by a Windows program called Mendeley6, in as few steps as possible. In the end, I settled on the following Heath Robinson scheme:

  1. I configured Mendeley to periodically save my library to a BibTeX file on my local drive. (BibTeX7 is a standard, more or less, that describes references in a machine-readable way so that they can be exchanged between computer programs. It isn’t the only such standard and nor, arguably, is it the best, but it is the one that Mendeley supports.)
  2. I configured Dropbox,8 a service that synchronises files across multiple computers, to make my BibTeX library available online. (You can view it here).
  3. I installed a WordPress plugin called Papercite,9 designed specifically to load and render BibTeX references, and pointed it towards my online library of references.

Dropbox gymnastics aside, it was Benjamin Piwowarski’s Papercite plugin that made the whole thing work. It read the BibTeX file at my Dropbox URL, teased it apart into individual references and, when I asked it to, it turned those references into nicely formatted HTML to be embedded within my blog posts.

So far, so good.

The problem was that Papercite never quite worked as I would have liked it to. Its formatting was a little too rigid, for instance, and it would occasionally refuse to pick up new references in my library. To encounter problems like these isn’t unusual, of course; whether it’s a piece of software or a screwdriver, no tool can ever be the right one for all users all of the time. Fortunately, Benjamin continued to improve Papercite month on month — right up until the middle of 2015, when the previously steady stream of new versions and bug fixes dried up.

Partly because active development on Papercite had come to a halt and partly because I wanted to learn more about PHP, the programming language in which it was written, in November 2015 I took a copy of Papercite and started to iron out its kinks. I modified it so that it would run on Windows, when previously it worked only on Unix-like operating systems; I made the formatting of its references more malleable, so as to fit in better with Shady Characters’ visual appearance; I fixed its handling of special characters (rather a necessity for a site about unusual marks of punctuation); I made it a little faster here and there; I made it more forgiving when it encountered unfamiliar types of reference; and, finally, I upgraded it to work with the most recent version of PHP.

All this and Papercite would still occasionally refuse to work, whether in terms of finding, parsing or rendering references. I have no doubt that some of the problems were due to my own ham-fisted modifications, but other were inherent in the plugin itself. It was time for a change.

Bibcite: a new citation plugin

And so here we are. For the past few months I’ve been working on a new citation plugin for WordPress — one that is inspired by Benjamin’s approach to Papercite, but also one that takes advantage of some of the innovations that have been made in the eight years since I started Shady Characters. It’s called Bibcite and you can find it here, on Github, the software hosting site.

In writing Bibcite I decided to mimic Papercite’s mode of operation as closely as I could. As such, it does much the same set of things:

  • It loads a library of BibTeX references from a defined URL
  • It stores those references in WordPress’s internal database
  • When asked to process a blog post or a page of text, it looks for “shortcodes” — that is, textual tags like [bibcite] and [bibtex] — to decide where to insert references and how to format them. For the most part, Bibcite understands the same set of shortcodes as Papercite and will treat them in the same way.

It’s worth mentioning that none of this is especially big or clever. Bibcite is deliberately constructed to be a mundane piece of software that does predictable things.

The one thing that I have changed is how Bibcite converts computer-friendly BibTeX references into human-readable citations. A BibTeX reference looks something like this:

	author = {Harris, N.},
	booktitle = {The Oxford companion to the book},
	editor = {Suarez, Michael F. and Woudhuysen, H. R.},
	isbn = {9780198606536},
	mendeley-groups = {A Book about Books},
	pages = {807--808},
	publisher = {Oxford University Press},
	title = {{Hypnerotomachia Poliphili}},
	year = {2010}

Somewhat mechanical, no? We, as humans, would rather see something like this:

  • N Harris, “Hypnerotomachia Poliphili”, ed. Michael Suarez F and H R Woudhuysen, The Oxford Companion to the Book, 2010.

There are already a number of software tools that can perform this conversion. Papercite employs one called OSBiB,10 for example, dating back to 2005, that comes with its own special file format to describe how a BibTeX reference should be converted into a formatted citation. The set of such conversions available to end users like myself has always been relatively limited (I had to modify one of OSBiB’s built-in styles for use here at Shady Characters, for instance), which can be a problem in a world where every academic journal defines its own citation style.

Enter the Citation Style Language (CSL) project.11 This is a huge endeavour that takes in a number of related subject areas:

  1. It provides a formal schema for representing machine-readable citations
  2. It provides a formal schema for describing conversions from machine-readable reference to human-readable citation
  3. It makes available an enormous library of conversions covering the house styles of thousands of different journals
  4. It provides software tools for various programming languages (PHP included) that tie all this together

These last two parts are what makes CSL so useful. These days, no sensible software developer starts a program from scratch and, as such, to find a project that has already cracked the hardest problems you would otherwise have faced is incredibly heartening.

In particular, Bibcite could not work without Sebastian Böttger’s citeproc-php12 library, one of the many pieces of software that make CSL available in different programming languages. It also contains the thousands of citation styles defined in CSL’s official repository,13 making them available to plugin users with no further configuration steps. (Notably, the one thing that the CSL project does not help with is converting from hoary old BibTeX references to shiny, modern CSL references, but that too is already taken care of by Benjamin Geißler’s helpful reference converter project.14)

In the end, Bibcite is isn’t so much as a complete software product as the glue between a number of different software libraries, which is exactly what a modern program should be.*

What’s next?

By design, very little should change here at Shady Characters. Posts that contain references will still display them as footnotes in the text and as a bibliography down at the end of each post. Formatting will be a little different, but not significantly. It should be business as usual, more or less, with the exception that you should see fewer error messages referring to Dropbox URLs or other referencing issues. If you come across anything that looks broken or is otherwise unhelpful, please let me know either here in the comments or via the Contact page.

If you’re interested in having a look at the source code behind the plugin or in learning how to use it, Bibcite is now available at Github. For the moment, it’s most suited to experienced WordPress users: the plugin is not yet available via the official WordPress plugin repository and some PHP knowledge is required to build it. It’s still very much a work in progress and I expect it to stay that way for some time.

If you do happen to try out Bibcite, please let me know what you think either in the comments or over at Github, where you can raise an issue or propose changes to the code itself via a pull request.

And that’s it! Thanks for reading and for indulging me in this technical digression. And now, back to your regular programme.

Glenn Fleishman, “London Kerning”, Medium, 2018. 
“The Open Source Definition (Annotated)”, Open Source Initiative
“About”, WordPress.Org
Defomicron, “Civil Footnotes”, WordPress Plugins, 2014. 
“Akismet Anti-Spam”, WordPress Plugins, 2018. 
Alexander Feder, “BibTeX”, 2006. 
Benjamin Piwowarski, “Papercite”, Benjamin Piwowarski’s Website
Mark Grimshaw et al., “OSBiB v3.0”, Bibliophile, 2005. 
Bruce D’Arcus et al., “Citation Style Language”
Sebastian Böttger, “Citeproc-Php”, 2018. 
“Styles”, Citation Style Language, 2018. 
Benjamin Geißler, “Converter”, 2018. 
In addition to the libraries mentioned above, Bibcite is built on Devin Vinson’s WordPress Plugin Boilerplate and uses code from the following projects:

A big thank-you to all of the respective project owners, contributors and maintainers! 

The Book at the BBC: Book of the Week

Some exciting news! The Book: A Cover-to-Cover Ex­plor­a­tion of the Most Power­ful Ob­ject of Our Time is BBC Radio 4’s next Book of the Week! The first 15-minute episode will be broadcast on Radio 4 tomorrow, Monday 14th May, at 09:45 BST (it will be repeated again tomorrow night at 00:30) and will be followed by four more daily episodes to be broadcast and repeated at the same times for the rest of the week.

I must thank Caroline Raphael of Dora Productions for getting the ball rolling and Peter Hoare and Celia de Wolff of Pier Productions for producing the programme itself. Libby Spurrier did a great job in selectively abridging what is not exactly a short book (my fault!) into manageable 15-minute chunks. Lastly, the extracts will be read by Deborah Findlay — I’d love to say she has done an excellent job (and based on her past work, I’m sure she has) but I haven’t even heard it yet myself. I’ll be as excited as anyone else to listen to the first episode tomorrow.

So: I hope you’ll tune in! If you can’t make it to a radio or a computer at 09:45 tomorrow,* the programme will be available shortly afterwards on BBC iPlayer. If you enjoy it (or if you don’t!), please drop by here to let me know what you think in the comments section.

As an aside, if you can’t wait that long for some Book-related audio content, I recently found out that all of the sessions at Adelaide Writers’ Week 2017 (including my own) are now available on SoundCloud. You can listen to my chat with Michael Williams here