Reblog: “Librarians as Cultural Warriors & Protectors”

I want to reblog Lisa Hoover’s wonderful post from the American Library Association’s Intellectual Freedom Blog without too much ado. Hoover’s post, “Librarians as Cultural Warriors & Protectors,” delves into Rebecca Knuth’s recent book Libricide to discuss the ways that librarians, archivists, curators, and other information professionals have both resisted and supported censorship. Knuth argues that “libricide” is part of a calculated effort by extremists to destroy a peoples’ culture by undermining its written heritage.

One quick rumination: I was thinking about Pierre Bourdieu while reading the post and it made me agree even more wholeheartedly as I read. In Outline of a Theory of Practice, Bourdieu argued that culture is best understood as habitus: the set of strategies, or the “rulebook,” by which people live. If x occurs, our habitus instructs us, do y. For its participants, the habitus is true. This is what troubles so many people about postmodernism. It acknowledges that what is true within one habitus is not true within another. Librarians may or may not choose to worry about truth, but a culture’s texts, in whatever form they take, are critical building blocks of habitus; and, for the culture within which they are embedded, libraries are regarded as repositories of truth. Extremism seeks to undermine truth by attacking existing authorities as well as free thought. If truth and culture are intertwined at the library—and if you’re the kind of person inclined to read the ALA’s Intellectual Freedom Blog, I’m willing to bet you agree that they are—it is no wonder that libraries are often the first target of extremists. Information professionals occupy the vanguard of the fight against extremism.

Here’s a link to the post, once again.

Upcoming Books in Native American History

March 2018

Bockstoce, John R. White Fox and Icy Seas in the Western Arctic: The Fur Trade, Transportation, and Change in the Early Twentieth Century. New Haven: Yale University Press, 2018. Link

Calloway, Colin. The Indian World of George Washington: The First President, the First Americans, and the Birth of the Nation. New York: Oxford University Press, 2018. Link

Cover for  The Indian World of George Washington

Graber, Jennifer. The Gods of Indian Country: Religion and the Struggle for the American West. New York: Oxford University Press, 2018. Link

Little, Ann. The Many Captivities of Esther Wheelwright. New Haven: Yale University Press, 2018. Link

Monaco, C.S. The Second Seminole War and the Limits of American Aggression. Baltimore: Johns Hopkins University Press, 2018. Link

 

April 2018

Kracht, Benjmain R. Religious Revitalization among the Kiowas: The Ghost Dance, Peyote, and Christianity. Lincoln: University of Nebraska Press, 2018. Link

Nohelani Teves, Stephanie. Defiant Indigeneity: The Politics of Hawaiian Performance. Chapel Hill: University of North Carolina Press, 2018. Link (Image)

Schulze, Jeffrey M. Are We Not Foreigners Here?: Indigenous Nationalism in the U.S.-Mexico Borderlands. Chapel Hill: University of North Carolina Press, 2018. Link

Sharfstein, Daniel J. Thunder in the Mountains: Chief Joseph, Oliver Otis Howard, and the Nez Perce War. New York: W.W. Norton, 2018. Link

 

May 2018

Biolsi, Thomas. Power and Progress on the Prairie: Governing People on Rosebud Reservation. St. Paul: University of Minnesota Press, 2018. Link

Power and Progress on the Prairie

Haynes, Joshua. Patrolling the Border: Theft and Violence on the Creek-Georgia Frontier, 1770-1796. Athens: University of Georgia Press, 2018. Link

 

June 2018

Archer, Seth. Sharks Upon the Land: Colonialism, Indigenous Health, and Culture in Hawai’i, 1778–1855. New York: Cambridge University Press, 2018. Link

Sleeper-Smith, Susan. Indigenous Prosperity and American Conquest: Indian Women of the Ohio River Valley, 1690-1792. Chapel Hill: University of North Carolina Press, 2018. Link

Mobile Zotero Part 2: Planning Features

Between cleanup from one hurricane, preparation for another later this week, dissertation research in history, coursework in Information Science, and a mini-vacation last weekend, I haven’t had much time to think about the mobile Zotero project. I still don’t have a name for the project, but I have at least started building a list of required features. So here, without further ado, is the first list:

  • LIbrary Read/Write
  • Note read/write
  • Search
  • Create/Modify Collections
  • ISBN Input/Scanner
  • DOI input/scanner
  • Tag navigator
  • Relationship navigator
  • File upload/download

Time to start digging into Zotero’s API, seeing how it translates into Swift, and looking at any existing libraries that might solve some of these problems for me. Avast!

Zotero Mobile

zotero_slider

As a scholar and open source devotee, Zotero is my life. (Click the link to learn about the best bibliographic management software in the world.) I use it as a personal library, a personal assistant. Sometimes it feels almost like a second brain: the brain where I’ve stored all of the connections between books and ideas that I need to function as a historian so I can focus on other things with the brain in my head.

The only thing it’s missing—and this is HUGE—is a useful mobile client. I’ve tried what’s out there and it just doesn’t work for me. As in, it doesn’t work. Period. So for the past few years I’ve been struggling to use the mobile web client, which is sorta OK, but it is weakest exactly where I need Zotero to be strongest: search.

Rather than continue struggling to operate my second brain, I realized that this is an opportunity. Why not develop my own Zotero client for iPhone and learn Swift along the way?

Consider this, then, the first in a long series of posts documenting the creation of this tool. I have yet to name the project and will begin listing features in future posts. Like Zotero, this will be a truly open source endeavor. I encourage anyone reading this to chime in with ideas or suggestions. If you’d like to volunteer, send me an email or comment below.

Let’s build Zotero for iPhone!

A Quick Paean to Code

I am not a programmer. I wouldn’t even call myself a coder. But that doesn’t mean I can’t use code to make my life a little easier. Here’s a very simple Python script I wrote yesterday morning that saved me hours of work:

Screenshot of a Python script to download deeds composed in gVim.

What does it do, and how does it do it?

Let’s start with the problem. In my day job, I work with public real estate. I deal with property deeds. Lots and lots of deeds that are (conveniently) hosted on a web server.

Monopoly deeds.
Deeds. Image from here.

Today I was given a list of more than 220 deeds to download and attach to another document. I could have downloaded each one of them from the server, by hand, but that would have taken several long, tedious hours. Instead, I wrote 13 lines of code that downloaded the deeds in less than five minutes.

Here’s how it works. The first two lines are used to import “libraries.” These are tools that other programmers have created to make everyone else’s life easier by solving common problems. In this case, I imported urllib, which is used to grab resources from URLs (i.e., files on networks, like the web), and csv, which is used to work with CSV files. CSV stands for Comma Separated Value, and is exactly what it sounds like: a list of values separated by commas. In this case, I took the list of deed numbers (or DMIDs, which is an internal identifier used within my state agency) and saved them in Excel as a .csv. Easy!

After importing the libraries, it’s time to work with the CSV file and web resources. The first line opens the csv file, prepares to read it (the ‘rb’ part), and assigns it a name, “f,” which I can use to refer to it later. The next line just tells me that the operation worked by printing “Opened CSV file…” on the screen. The next line after that mostly pointless one uses the csv library I imported earlier to read the CSV file. Again, it is assigned to a variable for ease of use later. Note that there are two variables here: one pointing to the file, “f,” and one pointing to the results of an operation that reads the file, “FileReader.”  This operation creates a list of items that would look like this if printed:

[‘345808’]
[‘357121’]
[‘15298’]

After that, we’ll work with the contents of the file row by row—which is why the last line before the indent states “for row in FileReader.” The next line after that “grabs” the DMID from the list and strips away the brackets. The next line attaches the DMID to a string to create the URL of the resource. After that I create the filename for the local system by stripping it from the URL. The next line invokes a function of the url lib library and assigns it to a name; and then the line below that retrieves the URL and saves it to a location on the filesystem—in this case, a file on my flash drive. The program then reports that it downloaded the file before moving onto the next row of the CSV. Everything below the “for row in FileReader” line continues running until it has run out of rows to read. Done.

Atlanta Weekend

Hello ATL:

I still have a roll of 35mm film to develop as well, so there may be more forthcoming.

It was a great weekend!