Feed aggregator

Got questions? October 30 Is #AskAnArchivist Day!

Brought to Light Blog - Mon, 2014-10-27 09:00

On October 30, archivists around the country will take to Twitter to answer your questions about any and all things archives! This day-long event, sponsored by the Society of American Archivists, will give you the opportunity to connect directly with archivists in your community—and around the country—to ask questions, get information, or just satisfy your curiosity.

Postcard depicting the Affiliated Colleges, San Francisco, California, ca. 1900s

We are eager to respond to diverse questions you have about archives and archival work. Not sure what to ask? Here are a few sample questions we commonly get…

•    Who was the first chancellor of UCSF?
•    When the university was officially named UCSF?
•    How to archive a website?
•    What’s the most unusual thing you’ve come across in your collections?
•    How can I see you collections?
•    How can I volunteer in the archives?
•    Can you help me digitize VHS tapes?
•    I have old dental school yearbooks, can I donate them to archives?

#AskAnArchivist is open to everyone—all you need is a Twitter account! To participate, just tweet a question and include the hashtag #AskAnArchivist in your tweet. Your question will be seen instantly by archivists around the country who are standing by to respond directly to you.
If your questions are specifically for the UCSF archives, be sure to tweet them to @ucsf_archives using the hashtag #AskAnArchivist on October 30th from 9 a.m. to 4 p.m.
We may not know every answer right away, but we will get back to you after we’ve had the chance to do some digging.
The archives team will be on-hand to answer your questions. Click here to tweet.

Categories: Brought to Light

Using Zotero for Collaboration

In Plain Sight - Thu, 2014-10-23 13:54

Zotero is a free, easy-to-use application to help you collect, organize, cite, and share your research sources. In our experience one of its strengths is the option to create shared libraries, known as Groups, allowing you to collaborate with other Zotero users. The ease with which Groups can be set up facilitates a wide range of collaborative activities.

Zotero was originally developed as a FireFox extension but a recently introduced  “standalone” version allows you to use it with other browsers. With the local component on your computer you can add citations and bibliographies to Word documents.

To use Zotero groups you must also create an online account at Zotero.org.  Zotero’s online syncing allows you to access your Zotero library on any computer with internet access and Zotero installed.  The two components are then kept synchronized.  Zotero Groups offer users the option to create shared libraries and collaborate with other Zotero users.

To create a group login to your online account and select Groups:









Give your group a name. Note that you can choose who has access to it:

Click here for more information on using Zotero Groups.

Categories: In Plain Sight

History Exhibit at UCSF’s 150th Anniversary Block Party 8

Brought to Light Blog - Tue, 2014-10-21 10:31

We had a great time at UCSF’s Block Party, held October 8th on the Mission Bay campus. The event celebrated the university’s growth over the past 150 years and featured live music, food, and entertainment.

The archives team in a Wells Fargo stagecoach at the Block Party. UCSF founder Hugh Toland reportedly used the company’s services in the mid-nineteenth century to transport pharmaceuticals to patients throughout California.

We organized an exhibit for the event that highlighted key moments and individuals from UCSF’s rich history. The displays featured artifacts and photos from the Archives and Special Collections, including Hugh Toland’s surgical instruments, a student nurse’s uniform, Guy Millberry’s dental equipment, and pharmacist William Searby’s brand-name medications.

School of Medicine artifacts. UCSF founders Richard Cole and Hugh Toland are pictured along with Lucy Wanzer, UCSF’s first female graduate.

We also brought duplicate copies of UCSF’s student yearbooks and invited visitors to flip through them. One woman found a wild picture of her dentist from when he was a student in 1985!

School of Nursing artifacts. Margaret Tracy and nursing students are pictured. Tracy served as director and dean of the UCSF School of Nursing from 1934-1956

School of Pharmacy and School of Dentistry artifacts. William Searby and Guy Millberry are pictured. Searby helped found the California College of Pharmacy in 1872 and later served as dean of the School of Pharmacy. Millberry served as Dean of Dentistry from 1914-1939.

It was a lot of fun to share our collections. Thanks to everyone who stopped by the exhibit.

Categories: Brought to Light

Chunked Uploads with JQuery File Upload and Ruby on Rails

CKM Blog - Tue, 2014-10-21 08:13

I was inspired by this thread on the Google Hydra-Tech forum to put together a short tutorial on chunked uploads with jQuery file upload and Ruby on Rails.

There’s a nice example on GitHub for using this plugin with Rails, so we don’t need to do this from scratch. To see how this plugin works without chunked file uploads, clone the example


bundle, rake:db, rails server, and go to port 3000. You should see a nice UI for file uploads.

Try uploading a small file (under 500k). It works well, has a nice looking upload bar that flashes for just a few moments, and allows you to delete or cancel an upload. Now try uploading something a little bigger, maybe around 500MB. The progress bar will really come in handy here, but once it is complete, your server will most likely hang for a few minutes (at least). A file a few GB in size, while permitted, will take even longer and may slow down your web browser and localhost server to the point where it is unusable, and you need to go off to terminate a few processes manually through the command prompt.

At some point, you’ll probably start wanting to use the chunked file uploads feature, which splits the file into smaller pieces and submits them, one after the other, across the wire to your server.

To activate chunked file uploads, open the jquery-fileupload-rails-paperclip-example app and navigate to the views/uploads/index.html.erb file. At the bottom of this file (line 118 on my system), you’ll see a call to:


To use chunked file uploads, replace the above bit of code with:

$('#fileupload').fileupload({ maxChunkSize: 1000000 maxFileSize: 1000000 * 10000 });

Note – these values were chosen to illustrate the app working, you may want different values in production. For more on chunked file uploads, check the documentation.

Give it another try (you may need to reload the javascript for your change to take effect. Upload that medium size (at least a few dozen MB to see the full effect) and watch your dev server spin. You’ll notice that the controller for processing a file is getting called repeatedly for each chunk.

Watch your server log as rails processes the upload, and you’ll see that the controller is called repeatedly as you upload the file. The file uploader is splitting the medium sized file into 1 mb sized chunks and submitting them sequentially to the server.

Great, except.. refresh the page.

The rails app is processing each chunk as if it were a separate upload. Keep in mind, this has nothing to do with the jquery file uploader plugin, it’s doing exactly what we asked it to do – split up a file into small pieces and submit each one to the server. We just need to change how we’re processing this on the server side.

Before we go on, go ahead and delete those files (the fastest way is to check the box next to the upper menu delete button).

To process each chunk as part of a single file, rather than as a separate independent file upload, take a look at the create method in the uploads_controller.rb controller.

The first line

@upload = Upload.new(params[:upload])

creates a new upload object and processes it as a single file upload. You’ll need modify this to process it as a chunk rather than as a complete file.

There are plenty of ways to do this. To keep it all contained in an example, I’ll just go ahead and hack the controller. Remove the line above and replace it with the following code (entire method posted to avoid confusion about what to paste where)…

def create @temp_upload = Upload.new(params[:upload]) @upload = Upload.where(:upload_file_name => @temp_upload.upload_file_name).first if @upload.nil? @upload = Upload.create(params[:upload]) else if @upload.upload_file_size.nil? @upload.upload_file_size = @temp_upload.upload_file_size else @upload.upload_file_size += @temp_upload.upload_file_size end end p = params[:upload] name = p[:upload].original_filename directory = "uploads" path = File.join(directory, name.gsub(" ","_")) File.open(path, "ab") { |f| f.write(p[:upload].read) } respond_to do |format| if @upload.save format.html { render :json => [@upload.to_jq_upload].to_json, :content_type => 'text/html', :layout => false } format.json { render json: {files: [@upload.to_jq_upload]}, status: :created, location: @upload } else format.html { render action: "new" } format.json { render json: @upload.errors, status: :unprocessable_entity } end end end

Note – to keep things simple, I hard coded a new upload directory into the method, so you’ll need a top level “uploads” directory in your rails app for this to work.

In this method, we are now reading the upload parameters into a temporary upload object. We then look for an upload object with that file name (yes, different uploads could have the same file name, so you’d need a different approach for production). If that object doesn’t exist, create it, and treat the file chunk as if it were a new upload. If it does exist, retrieve it and append the newly uploaded chunk to the existing file. You do this over and over until the last chunk is processed (there’s also a running counter for file size).

Give it a try and refresh the screen. This time, you should see only one file upload, and you should be able to retrieve that file from your uploads directory. You may also notice that the long lag time between the status bar completion and the actual file upload completion is much shorter now, as the file is getting written to disk in small increments (you don’t have to convert the entire temp file upload on the server at once after upload, just the last chunk).

One note – some of the functionality of the upload plugin (such as delete) will no longer work with the new directory location.

So, should I do chunked file uploads?

The general approach above, with some modifications, does make it possible to process bigger files and stick with a pure ruby solution, and it could take care of the problem of medium file uploads that need to be chunked but perhaps don’t require an industrial strength solution.

However, if you want to allow really big file uploads, you might want to consider a solution that allows a user to upload a file to box, dropbox, google drive, etc, and then transfer it to your server from there as a background job. In fact, there’s a very nice gem from hydra labs called “browse everything”  that provides this functionality and integrates nicely with sufia. If you’re already using the “browse everything” type approach, you might just go ahead and limit direct non-chunked uploads to small sized files that won’t tax the system rather than managing the complexity overhead of a solution that sits in between.

In addition to the obvious problems I dismissed with a bit of hand waving and vague excuses about this being for to a sample exercise, there are other issues to consider with large file uploads. What do you do about partial uploads? Partially uploaded files where the user closed the connection or lost the network connection? Checksums (we can check the sum on each chunk, but were the chunks assembled properly on the server)?

Chunked file uploads are a very useful way to get that middle ground, and I suspect many of your users would really appreciate being able to upload medium size files without having to create an external account. I just want to emphasize that will the above approach can work, there’s a lot to consider here.

Categories: CKM

Introducing Amalgamatic

CKM Blog - Thu, 2014-10-16 07:40
“Search!” by Jeffrey Beall licensed CC BY-ND 2.0

Academic libraries offer many resources, but users cannot be expected to search in, say, a half dozen different interfaces to find what they’re looking for. So academic libraries typically offer federated search.

Sometimes, a solution is purchased. Many libraries, for example, use 360 Search.

Here at UCSF, we are among the libraries that have built our own federated search. Twice.

There are (at least) three ways to pull data out of other resources in real time.

  1. Cool, they have an API for that!
    This almost never happens.

  2. I will screen-scrape the #*%!?@ out of your website!
    This is by far the most common scenario.

  3. Web New-dot-Oh: It’s full of JavaScript that injects the content.
    An edge case, but one that is becoming more important all the time. Make friends with PhantomJS to scrape these sites.

When trying to implement these solutions, a common scenario is to build your screen-scraping federated search tool with traditional server-side languages like Java or PHP.

These strategies and technologies bring with them pitfalls to be avoided. Recompiling your WAR every time one of your target systems modifies their HTML layout, anyone?

Here’s another pitfall: Our group built a solution years ago (our first one) that is implemented in Drupal with no external facing API. So, if I want to experiment with a different results interface, I need to write it in Drupal. This tight coupling prevents experimentation with other technologies or things that don’t fit neatly into the Drupal paradigm.

A lot of the pitfalls can be avoided by following sound software architecture principles. But one thing should be uncontroversial:

No programming language has a more robust and widely-understood set of conventions and tools for processing blobs of HTML than JavaScript.

So how about building your federated search server using Node.js? Or maybe even take it a step further and just let your user’s browser execute the federated search entirely by itself, no need to talk to your server! If it’s all just JavaScript, why not?

That is our approach this second time around.

First, we wrote a pluggable, extensible federated search tool called Amalgamatic.

Second, we wrote the plugins that we needed to search the resources we were interested in:

In the course of writing these plugins, we used all three of the techniques described above (API, scraping HTML, and using a headless browser to get JavaScript-generated content).

Third, we used Amalgamatic to expose federated search on our API server. (source code)

Fourth, we set up a prototype search interface to use that API. (source code)

Lastly, because we could, we used Browserify to create a demo showing how to use Amalgamatic so that all the retrieval and processing happens in the browser—no need for an intermediary API or search server! (source code)

I hope others find this work useful. Use Amalgamatic, ask questions, file issues for bugs or feature requests, and write and publish your own plugins.

(Or tell me about your project that already does this better and I need to fold up shop or at least steal all your ideas.)

While I’m at it with the small-text thing, here’s a caveat on the Browserify-ed version: The one thing the browser couldn’t do was launch the PhantomJS headless browser for scraping sites that depend on JavaScript execution to display results. Fortunately for us, that was needed in the LibGuides plugin only. And LibGuides offers an API, so if we really wanted LibGuides results, we could use the API. We initially implemented it that way, actually, but found that the API results differed from the LibGuides search page results. We thought that might be confusing to users, so we went with PhantomJS-assisted scraping.

Categories: CKM

The Anatomy of the Human Body: Illustrated by One Hundred & Fifty Eight Plates

Brought to Light Blog - Wed, 2014-10-15 07:43

We bring you some images from the rare book collection to kick off your October:

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. I.

I like to think of it as “Dancing Skeletons.” Doesn’t it look as though they’re mid-twirl?

Andrew Fyfe (1754-1824) was a Scottish anatomy professor at Edinburgh University where he lectured and performed dissections. He later went on to create anatomy textbooks and engravings. The above volume, The Anatomy of the Human Body: Illustrated in One Hundred & Fifty Eight Plates, was published after Fyfe’s death in 1830. It’s comprised solely of detailed engravings of human anatomy.

This book, along with 1,316 others, were digitized during the UCSF Google Books Project and is now available in full on HathtiTrust.

A few more– the thoracic cavity,

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. XVII.

teeth and jaw,

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. LXXII.

nerves and muscles on the neck and head,

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. CV.

the brain,

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. LII.

and last but not least, a child skeleton and skulls on books. Now, who is ready for Halloween?

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. XXVII.

Fyfe, Andrew, The Anatomy of the Human Body… 1830, Tab. IX.

Categories: Brought to Light

100+ Years of UCSF Yearbooks Accessible Online: UCSF Partners with Google Books for Digitization Project

Brought to Light Blog - Fri, 2014-10-10 09:00

The UCSF library is an important UC contributor to the Google Books digitization project. Through the collaboration with the California Digital Library (CDL) digitization team 1,317 volumes from the general and rare book collections were scanned and uploaded to Google Books and HathiTrust, a central repository for digital books.

As part of this project, we also digitized the university publications (yearbooks, announcements, departmental newsletters). These materials are among the most heavily used in archives and requested not only by university departments, but also by people doing genealogical research and alumni. As a result, 460 of these volumes are now full-text accessible on Google Books and HathiTrust sites.

Chaff’98, v.2, yearbook of the College of Dentistry, University of California. College of Dentistry baseball team, 1897-98.

With hundreds of volumes digitized proper organization assures quick and efficient discoverability of these treasures by diverse users. With the help of HathiTrust colleagues at CDL and the University of Michigan, we set up two collections:

University of California, San Francisco collection

This collection contains books, pamphlets, UCSF University Publications, and yearbooks dating back from 16th century through 2000s held at the University of California, San Francisco Library and Special Collections.

UCSF University publications

This collection contains materials published by UCSF schools, programs, and research institutes (course catalogs, announcements, student publications, annual reports, newsletters, etc.) as well as yearbooks dating back from 1864 held at the UCSF Archives. Among them is “The Introductory address delivered by Professor H. H.Toland at the Toland Medical College, San Francisco on Monday, October 24, 1864.”

Please read the full story on the UC Libraries web site and CDL blog.

UCSF Library Google Books Team. Front row: Andy Panado, Polina Ilieva, Bea Mallek, Karen Butter. Back row: Eric Peterson, Art Townsend, Alberto Luna, Tyrone McCloskey, Don Ciccone, Bazil Menezes, David Campbell, Anneliese Taylor. Not pictured: Margaret Hughes, Julia Kochi, Bertha Hall, Lucy Friedland, Mark Zanandrea, David MacFarland, Alan Daniel, Jubeda Azam, Deborah Freeze, Susan Boone and Kirk Hudson.

About CDL
The CDL was founded by the University of California in 1997 to take advantage of emerging technologies that were transforming the way digital information was being published and accessed. Since then, in collaboration with the UC libraries and other partners, CDL assembled one of the world’s largest digital research libraries and changed the ways that faculty, students, and researchers discover and access information. In 2006, CDL and the University of California libraries partnered with Google on a project to digitize millions of books from the campus collections.

About HathiTrust
HathiTrust Digital Library is a digital preservation repository and highly functional access platform. It provides long-term preservation and access services for public domain and in copyright content from a variety of sources, including Google, the Internet Archive, Microsoft, and in-house partner institution initiatives.  Launched in 2008, HathiTrust has a growing membership, currently comprising more than 90 partner libraries. Over the last six years, the partners have contributed more than 11 million volumes to the digital library. More than 3.7 million of the contributed volumes are in the public domain and freely available on the Web. For more information, visit the HathiTrust About page.

Categories: Brought to Light

Track Attendance in the CLE!

Convergence - Fri, 2014-10-03 12:45

Are you interested in tracking attendance in UCSF CLE courses? Beginning Wednesday, October 1, the Attendance activity is being piloted at UCSF.

The Attendance activity is installed on the CLE and can be added to a CLE course the same way you add other activities. Instructors and course staff can mark the attendance status for students as Present, Absent, Late, or Excused. These status descriptions are configurable, and more can be added and reported to the course gradebook.

Follow the instructions below to add the Attendance activity to a CLE course today:

  1. Log in to the CLE at cle.ucsf.edu.
  2. Go to the CLE course where you would like to track attendance.
  3. From the Administration block or from the top-right of the CLE, select Turn editing on (or use the Turn editing on button located in the top-right corner).
  4. From the list of Activities, select the Attendance activity, then scroll to the bottom of the window and click Add.
  5. This will take you to your new Attendance settings’ page where you can configure Attendance settings.

Instructors can also add the Attendance block that provides instructors and students with a shortcut to attendance information. Once you have added the Attendance activity to a CLE course, you can also optionally add the Attendance block. Follow the instructions below to add the block to a CLE course:

  1. Turn editing on in a course where the Attendance activity has already been added.
  2. From the Add a Block drop-down menu, select Attendance to add the block to the course.

For support using the Attendance activity during the pilot, please see Moodle.org or the UMass Support Center. YouTube also has a great video showcasing the Attendance activity from Oklahoma Baptist University. As we progress through the pilot, the Learning Technologies Group will develop support documentation based on how the activity and block are being used at UCSF.

As always, contact the Learning Technologies Group or attend a CLE Clinic for help!

Have you used the Attendance module and/or block and have feedback about the pilot? Please submit your feedback in the CLE Attendance Pilot Survey.

Image Credit: “Users” designed by Wilson Joseph from the Noun Project

Categories: Convergence

Exploring the Archives for 150: School of Nursing Comic Books

Brought to Light Blog - Mon, 2014-09-29 13:30

In preparation for UCSF’s 150th anniversary celebration exhibits, we’ve been doing a bit of exploring in the vaults. For the next several months, I’ll be posting some of the treasures we’ve discovered!     

In 1944, the graduating class of the UCSF School of Nursing received a unique gift…a comic book dedicated to their experiences as student nurses.

Cover of The Adventures of Miss Smith, Archives Classification, N-S, folder 1:1

This homemade book, created by Marjorie Carlson and titled The Adventures of Miss Smith, includes 31 illustrations that parody everything from late-night cram study sessions to overwhelming patient and doctor requests.

Illustration from The Adventures of Miss Smith, Archives Classification, N-S, folder 1:1

Carlson makes special note of the imposing landscape of Parnassus, a reference to which current students and staff can definitely relate!

Illustration from The Adventures of Miss Smith, Archives Classification, N-S, folder 1:1.

In 1947, nursing student Phyllis P. Benson created a similar comic book, titled Nurses in Embryo.

Cover of Nurses in Embryo, Archives Classification, N-S, folder 7:1

In her introduction, Benson notes that the book “is the realization of an idea one of us had during our pre-clinical semester – to record some of the amusing, humiliating and exasperating experiences we’ve had in training both on and off duty. Each of our twenty-nine class members is represented…these things couldn’t have happened – but they did!”

Illustration from Nurses in Embryo, Archives Classification, N-S, folder 7:1

While Benson maintains a humorous tone throughout, she also illustrates some serious issues that mid-century nursing students faced. For instance, five of the twenty-nine anecdotal illustrations reference sexual harassment from doctors and patients.

Illustration from Nurses in Embryo, Archives Classification, N-S, folder 7:1

Documents like these provide excellent evidence for researchers looking to better understand students’ lives and experiences. They speak to the history of nursing training at UCSF and showcase unique individual stories. To view more images from the books, visit our digital collections or come see the real thing in the UCSF Archives and Special Collections.

Categories: Brought to Light

New Faces in Archives

Brought to Light Blog - Thu, 2014-09-25 08:30

Kelsi Evans

Kelsi Evans
Our new Assistant Research Archivist, Kelsi Evans who joined the archives team a month ago, will help with research and organization for several onsite and online exhibits, as well as processing, cataloging, digitization, and social media projects related to the University sesquicentennial. She will respond to reference requests relating to UCSF History and 150th anniversary, research and provide historical information for UCSF schools and departments. Kelsi will be contributing to the Archives blog and support Archives outreach programs.
She will also spend half of her time completing processing of the Lawrence Crooks Radiologic Imaging Laboratory Records and establishing the Lawrence Crooks Radiologic Imaging Technology Digital Collection.
Dr. Crooks’ collection provides insights into the history of the development and testing of magnetic resonance imaging (MRI) technology. The material donated by Dr. Crooks is a major addition to the archives holdings and is treasured for its high scholarly value and ability to broaden research perspective. Some of these treasures are lacking intellectual control and have no or minimal descriptive data. The goal of this project is to create a detailed finding aid and digitize a sizable and significant part of this material to build a comprehensive on-line collection. The archives will produce an exhibit at the UCSF library showcasing the key documents and artifacts. Subsequently, an online companion exhibit will be built and will be accessible through the UCSF library site.
Kelsi holds a master’s degree in Archives and Public History from New York University and completed graduate coursework in American History at UC Santa Cruz. She has worked as an archivist in the Fales Library and Special Collections at NYU, the Foundation for Landscape Studies in NYC, and the Lowe Art Museum at the University of Miami. Additionally, she has planned events and coordinated volunteers for non-profit organizations, including Old Spanish Days Fiesta in Santa Barbara. Originally from Kansas City, Missouri, Kelsi has lived in the Bay Area for the past several years and enjoys California’s farmers’ markets and beaches.

Armani Fontanilla

Armani Fontanilla

This fall semester the UCSF Archives & Special Collections is hosting an intern from the University of San Francisco (USF) public history program. Armani is currently a senior at the USF majoring in History with an emphasis on European and Asian Studies. He is originally from San Jose, and has lived in California his entire life. After he graduates from USF, he hopes to be able to earn a teaching position at his old high school, Bellarmine College Preparatory, and eventually pursue a Masters. In choosing the UCSF archives through the USF internship program, he hopes to not only practice skills that can only be found through working at an established institution but to also enhance his ability to do archival work and explore history of Western medicine at the archives.
Armani is working on organizing and creating an inventory of biographical files. This frequently consulted collection includes CVs, newspaper clippings, obituaries, bio sketches of hundreds of UCSF researchers, clinicians, staff, and alumni. Armani will also assist with digitizing images and documents for the University sesquicentennial events.

Categories: Brought to Light

Top 10 Quiz Improvements

Convergence - Tue, 2014-09-23 10:45

Students, faculty, and staff are returning for fall classes to find a refreshed CLE. Many may not be aware of improvements to the Quiz activity, which is a popular way to assess student learning here at UCSF. Take a look at the handout provided below to learn about the Top 10 Improvements to the Quiz Activity.

Do you have questions about how to set up an upcoming CLE quiz? Or maybe you have questions about setting up and managing your course question bank? If these questions sound familiar, attend an upcoming CLE Clinic or contact the Learning Technologies Group and get your questions answered!

Categories: Convergence

Dentistry demonstration photograph series, circa 1900

Brought to Light Blog - Tue, 2014-09-23 09:14

Walter French Lillard, Anna Christina Frank Wagner, and Maurice Louis Green, 1901. UCSF Historic Photograph Collection, GO-GZ.

This photograph is comprised of four images of what appears to be a dentistry school demonstration– there seems to be too much smiling going on for a real procedure. Walter French Lillard (mustachioed) of Dixon, California; Maurice Louis Green of Alameda, California; and Anna Christina Frank Wagner of Austin, Nevada graduated from the College of Dentistry in the class of 1901.

See more of UCSF’s Historic Photographs here.

Categories: Brought to Light

Using RefWorks for Collaboration: RefShare

In Plain Sight - Thu, 2014-09-18 14:28

RefShare is a special feature of RefWorks that allows you to share information in your RefWorks account with others. It’s accessed from the Organize & Share Folder tab:

RefShare allows you to share your RefWorks database of just specific folders, or subfolders, from your RefWorks database with other RefWorks users at UCSF and in some cases even publicly.

RefShare users have the ability to allow exporting, printing, generating a list of references and even using custom output styles at the folder or database level. Existing RefWorks users can export from a shared database or folder directly into their own RefWorks database.

There is also a “comment” feature, so you can even attach comments to the various records.

RefShare is ideal for classes and group projects, or researchers working together from remote locations. Users can subscribe to RSS feeds of particular RefShare folders or create bibliographies in a variety of citation styles from the citations in RefShare.

You can also post your folders or databases on a shared page viewable by all RefWorks users within UCSF:

For more information view this online tutorial.



Categories: In Plain Sight

Archives Lecture Series: Early Interdisciplinary Cancer Research at UCSF, October 13th, 2014

Brought to Light Blog - Wed, 2014-09-17 14:30

Join us on Monday, October 13th as M. Michael Thaler, M.D., M.A. (Hist.) gives a lecture in a series launched by UCSF Archives & Special Collections.

Date: Monday, October 13th, 2014
Time: 12 pm-1:20 pm
Location: Lange Room, UCSF Library, 530 Parnassus, 5th floor
This lecture is free and open to the public.
Please RSVP to reserve a seat.

Shimkin’s “Lost Colony” (1947-1953): Early Interdisciplinary Cancer Research at UCSF

Michael B. Shimkin, Director of the Laboratory of Experimental Oncology at UCSF, 1947-1953

The Laboratory of Experimental Oncology (LEO) was established in 1947 at Laguna Honda Hospital in San Francisco as a “colony” of the National Institutes of Health, to be jointly administered by the National Cancer Institute (NCI) and UCSF. The LEO was the brain child of Michael B. Shimkin, a career U.S.P.H.S. physician and cancer researcher at the NCI. Shimkin was a native San Franciscan, having successively graduated from Lowell High School, UC Berkeley and UCSF. After 8 years at the NCI and war service, Shimkin returned to his native city and alma mater as ideal environments for a “combined” interdisciplinary clinical and basic research unit embedded in a medical school and staffed by full-time research teams of M.D.’s and Ph.D.’s. These unprecedented ideas directly challenged the traditional separation between patient care and laboratory research. Shimkin introduced a ‘release’ form that fully informed patients with terminal cancer admitted to the LEO about the incurable nature of their illness, and clearly distinguished between therapeutic and experimental procedures. This prototypical “informed consent” approach met with mounting resistance from the clinical faculty. In response, Shimkin organized a symposium at UCSF in October 1951 on the subject on human experimentation. In his presentation, Shimkin became the first American physician to draw on the injunctions from the recently concluded Nuremberg trials against German physicians who had conducted medical experiments in Nazi concentration camps, as a source of universal guidelines for the ethical conduct of experiments with human subjects. The LEO treated 500 patients and generated over 130 publications before being replaced by the Moffitt-based Cancer Research Institute in 1953.

About M. Michael Thaler

M. Michael Thaler, M.D., M.A. (Hist.)

Michael Thaler received his M.D. from the University of Toronto, trained in pediatrics, pediatric pathology and internal medicine, and completed research fellowships in cell biology at Washington University and in developmental biology at Harvard University. As professor of pediatrics at UCSF, he established the first academic division of Pediatric Gastroenterology, Hepatology and Nutrition in North America, was awarded the first NIH Research Career Development Award in Pediatric Gastroenterology, and was P.I. of the foundational NIH Research Training Program grant in Pediatric Gastroenterology. He also directed the Laboratory of Pediatric Hepatology and served as associate director of the UCSF Liver Center.  His publications include approximately 200 clinical and basic research articles on perinatal bilirubin metabolism, infantile cholestasis syndromes, Reye’s syndrome, and bile salt metabolism. As professor emeritus, he earned a M.A. degree in History of Health Sciences at UCSF in 1998, and received appointments as Visiting Scholar at the Stanford Center for Bioethics, and Research Associate at the Stanford Center for History and Philosophy of Science.  For the next 12 years, he taught undergraduate courses on the history of medical sciences as Visiting Professor of History at UC Santa Cruz and UC Berkeley. He continues to lecture at the Osher Life Long Learning Institute in Berkeley, and for the fellowship program in Pediatric Gastroenterology at UCSF.  His awards include the UCSF Chancellor’s Faculty Award for Public Service and the Shwachman Lifetime Achievement Award in Pediatric Gastroenterology. He presently serves as president of   the UCSF Emeriti Faculty Association.

About the UCSF Archives & Special Collections Lecture Series

UCSF Archives & Special Collections launched this lecture series to introduce a wider community to treasures and collections from its holdings, to provide an opportunity for researchers to discuss how they use this material, and to celebrate clinicians, scientists, and health care professionals who donated their papers to the archives.

Categories: Brought to Light

JAMA Network Reader

Mobilized - Wed, 2014-09-17 06:00

Interested in reading JAMA articles on the go? You’ll be happy to know that because UCSF Library is a JAMA subscriber, our patrons have access to the latest year’s worth of content from all 10 JAMA journals on the JAMA Network Reader.

The Reader works across all devices — phone, tablet, and desktop — to give you free, instant access to the research, reviews, and viewpoints in all JAMA Network journals, including those published online first and with embedded video. It’s browser based and available as a Chrome app or Safari extension to allow for offline article viewing (articles are only available for online viewing on Mozilla and Internet Explorer through the Reader website). The option to read either online or off saves storage space on your device and gives you the ability to easily access the article later.

Additionally, there are no manual updates needed, and Online First articles and new issues appear automatically.

To take advantage of this benefit to UCSF’s JAMA subscription, you will need to access the JAMA Network Reader while on the UCSF network or click through to the JAMA Network from the library catalog if you’re off campus. Look for the link to the Reader on the top of the right sidebar of every article page. For more detailed instructions, please visit the JAMA Network Reader website and see the section “How to access through your institution.”

Also visit the Reader site to learn more about installation and offline reading.

Image from JAMA.

Categories: Mobilized

1920’s Medical Crossword Puzzle Answers

Brought to Light Blog - Thu, 2014-09-11 07:56

No spoilers here. Click through to see the answers.

If you haven’t seen the crossword puzzles, yet, check out the previous post on the Children’s Hospital of San Francisco Alumnae Association collection.

Answers to crossword puzzle by Adelaide Brown, M.D. Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1925, page 53, MSS 2006-17.

Answers to crossword puzzle. Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1925, page 50, MSS 2006-17.


Categories: Brought to Light

Automatic backups with Box Sync

Mobilized - Wed, 2014-09-10 07:40

Given San Francisco’s history of earthquakes, I should be better prepared.
My earthquake kit has a flashlight, portable radio, first-aid kit, and enough dehydrated food rations to last a few weeks. I’m probably better prepared than most, but I’m still lacking an adequate supply of water, spare clothes, cash, street maps, and emergency contacts. In terms of earthquake preparedness, I’m woefully short of ready. Emergency preparedness is a great analogue for data disaster recovery. Investing some time in being prepared could potentially pay huge dividends later on; preparing yourself for the worst is often easier than dealing with disasters as they unfold.

If you’ve owned a computer in the past decade, chances are you have either experienced a hard drive failure or know someone who has. Data from Backblaze –– an online backup provider –– outlines how failures can occur due to manufacturing defects, as well as wear-out failures. Wear-out failures unsurprisingly increase with disk age. Unlike traditional spinning hard disks, the increasingly popular solid state drives do not have moving components and thus are less likely to fail mechanically. Solid state drives, however, are not immune from wear-out. Regardless of the kind of drive you own, having a secure, automatic, online backup is a great practice.


If you’re staff, faculty, or a student here at UCSF with MyAccess privileges, you already have access to UCSF Box. Box is one in a crowd of cloud-based storage providers, competing with Dropbox, Mozy, Skydrive, SugarSync, Amazon Cloud Drive, and many others. UCSF Box provides 60 gigabytes of personal storage with a file size limit of 5 gigabytes. You can use Box to store, access, and share data.

Cloud vs Network Shared Drive

Box, like many other cloud services, offers some advantages over traditional storage on a network drive. (Note that a network drive is not the hard drive on your computer — it’s backed up storage space provided on your school or workplace server. Typically, you must be on-site to use it.)

  1. Access from anywhere. Once your data is up in your Box account, you can access it from anywhere with an internet connection. That includes directly via their website, through mobile applications on both Android, Phone/iPad, and Windows Phone.
  2. Share files easily. In Box, you can share files and folders quickly with anyone. You can generate a hyperlink to share your data, then customize the access settings according to your needs. Find out more about sharing files with Box.
  3. Add tasks, discussions, and comments to files.

There are a few drawbacks with using Box at UCSF, most notably that it cannot be used for FERPA or ePHI information. Also, if you have data exceeding 5gb per file, or 60gb in total, traditional network storage would be more suitable. Otherwise, the benefits of portability between devices and the enhanced suite of features make Box a great option.

Box Sync

Box Sync is a great feature, similar to other cloud storage offerings, that integrates a folder on your Mac or PC with your Box.com account. Anything added or modified within this folder is automatically backed up. You can modify the contents of the folder while you are offline and the changes will be applied the next time you connect to the internet.

To setup Box Sync, follow the instructions below.

  1. If you haven’t setup your Box account yet, do so by visiting UCSF Box (or Box.com if you are not part of the UCSF community)
  2. Download the Box Sync client from here
  3. Follow the install instructions for your operating system here
  4. When you first launch Box Sync, you can choose a custom location for your Box Sync Folder.

In my case, I’ve setup my Box Sync folder in my User Directory (the default location). I’ve added a folder entitled “PowerPoint Presentations” as well as a sample document entitled “Sample Word Document.” The Box Sync application has syncing turned on.

When I login to my Box account, I see that both the folder and the document have been uploaded. Anything I place in the Box Sync folder will be uploaded, including documents seeded within other folders.

Go On, Be Prepared

Don’t wait to take advantage of your space on UCSF Box. It could save you enormous hassle and heartache if (when!) your local hard drive fails. If you don’t have UCSF privileges, you can still use a Box.com free account or a competing solution, though your amount of space and/or cost may vary. If you take a few minutes to set up some kind of cloud-based file storage, you won’t be sorry.


Categories: Mobilized

Using EndNote for Collaboration: EndNote Basic (aka EndNote Web)

In Plain Sight - Mon, 2014-09-08 11:04

A previous post outlined a simple way to share references using EndNote’s “traveling library” features. However, EndNote Basic (previously known as EndNote Web) offers more sophisticate features for sharing references with colleagues.

Just to remind you, there are now two versions of EndNote, desktop EndNote and Endnote Basic.  The latter is a separate application from the desktop version. It’s free, and was formerly known as Endnote Web. EndNote Basic is essentially a web-based stripped down version providing users with the ability to store 50,000 references, 2GB of file storage, 21 bibliographic styles, 5 online search connectors, and 9 import filters.

With EndNote Basic it is possible to create groups which you can share with others.  Groups can be created on the basis of either read or read/write.

  1. Select the Organize tab from the top of the screen, and then click on Manage My Groups:
  2. You’ll notice there is a column with options for sharing. Check the box next to Share and then click the Manage Sharing button:
  3. Groups can be shared with anyone that has an EndNote Basic account.  You can allow people to view your citations, or you can allow them full access to the group using the Read & Write option.  Be aware that if you allow someone Read & Write access, they can add, delete, and modify the citations in that group. You can modify or turn off sharing at any time. 
  4. When the other person logs in they’ll see the shared groups:







View this short online tutorial to learn more.

Note however that whilst references can be shared within a group, PDF attachments cannot be shared due to licensing restrictions.


Categories: In Plain Sight

Random Forests and Datashare at the CDL Code Jam

CKM Blog - Fri, 2014-09-05 10:28

The California Digital Library hosted a code jam earlier this month at the Oakland City Conference center.

This gathering brought together librarians and developers from University of California campuses for a series of working meetings with an eye toward system-wide projects, especially involving data curation.

In the spirit of an informal, code-jam style meeting, I presented a bit on my recent experiments using machine learning to categorize data. As a starting example, I applied a random forest to suggest subject keywords for data sets uploaded to the recently launched DataShare website.

A researcher who uploads a data set to Datashare through the datashare-ingest app is prompted to provide keyword information along with other metadata describing the data set. One relatively common keyword is “middle-aged”.


For the code jam, I showed one possible way to use these existing records to train a random forest to determine whether a new dataset should be tagged with the keyword “middle-aged”.

For this particular exercise, there isn’t a great deal of data – we’d need a much larger data set to really apply this. However, the small dataset has some advantages for exploring the use of random forests, as it’s possible to visually inspect the input and gain a better understanding of how the random forest categorization is working.

“Middle aged” is a relatively good term to use for an experiment, as it isn’t as obvious (or as objective) more technical terminology. Highly technical keywords often show up repeatedly in the data set, and are often very predictable. More subjective and less technical keywords such as “middle aged” may apply to a wide range subjects, and they may show up in some records but not in others, as some researchers include the keyword and others don’t. Random Forest classification can be particularly useful in this case, as these subjective keywords are more likely to be applied when they don’t show up in the description, title, or technical methods for a particular dataset.

For example, here’s a record tagged with the keyword “middle aged”.

To get started, I approached this with a simple “bag of words” approach, with a small modification. Rather than taking a very large bag of words for all records (or a sample of all records) in Datashare, I limited the count to words that show up in records with the keyword “middle aged”.

data: 14
changes: 12
disease: 12
alzheimer: 11
diffusion: 10
dti: 9
subjects: 9
images: 9
slice: 9
brain: 8
ftd: 8
imaging: 8
axial: 7
white: 7
matter: 7
tracts: 7
reductions: 7
acquired: 7
gwi: 7
center: 7
diffusivity: 7
thickness: 6
type: 6
symptoms: 6

(for the full list, run the wordcount_summary.py script in the github repo).

I used this bag of words to populate a random forest. For each record, I created a vector indicating the word count for each of the most common words in each dataset, using the title, abstract, and methods as text fields.

Here’s the bag of words for a single record that includes the “middle-aged” subject tag:

data 1
changes 7
disease 0
alzheimer 0
diffusion 6
dti 5
subjects 2
images 4
slice 0
brain 2
ftd 0

And here’s the bag of words for a single record that doesn’t contain this keyword:

data 5
changes 6
disease 4
alzheimer 4
diffusion 0
dti 0
subjects 16
images 1
slice 0
brain 10
ftd 0

Each of these records is converted into a vector containing the word count along with information about whether it was tagged with the keyword “middle-aged” (for the python scikit-learn library, I expressed this as a binary 0 or 1).

A categorization problem like this, where a bag of words is used as the basis for determining whether a record belongs in a particular category, can be approached with a number of different supervised learning techniques. Logistic Regression and Decision Trees are common approaches, and Random Forest is a particularly accessible and often effective algorithm for many categorization problems. I used a Random Forest classifier here, though other algorithms might turn out to be more effective.

For this application, I converted each record into a vector representing the bag of words, with each position representing a common term, and each value representing the number of instances of that word. I ignore a number of stop words and common terms, but there’s a lot more that could be done here, especially around identifying common phrases rather than single words. Each vector, along with an indicator representing whether this record was tagged with the subject “middle aged”, is then used to train a random forest classifier.

The rforestDS-Middle-Age.py script contains python code using scikit-learn to train and evaluate a random forest classifier on the Datashare records for the “middle aged” keyword tag, using the strategy described above.

Note that if you run this multiple times, you’ll get slightly different output. This is probably amplified by the relatively small number of training samples.

The train data score indicates how well the random forest categorizes the records that were used to train it. Because of the small sample size and relatively specific vocabulary, the assessment is fairly high.

Train data score: 0.941176470588

While it is interesting to observe the Random Forest’s assessment of how it performs on its own training set, a common practice is to split the training data into a training set and testing set (often at a two-thirds training, one-third testing ratio). You can then use the testing data (which was not used to build or train the random forest) to evaluate the accuracy of the classifier. I didn’t in this particular case, as the training set was very small and this is a small experiment/exercise, but it would be an important step on a larger dataset where we plan to make real use of a classifier.

Random Forests can also estimate the relative importance of the classifiers (in this case, the importance of the word count for each of the most common words in determining whether a record has been tagged with the subject “middle aged”). Here’s the feature importance estimate for a run of the random forest. The numbers will change slightly each time the forest is run.

data: 0.115221184049
changes: 0.0497659524022
disease: 0.0414350226064
alzheimer: 0.0438029075727
diffusion: 0.0870807358224
dti: 0.0287297792369
subjects: 0.0548861615427
images: 0.0783953700445
slice: 0.401884434536
brain: 0.0378775508884
ftd: 0.0609209012994

Although such a small sample size isn’t ideal for building a useful classifier, it can be illuminating, as the data set is small enough to hint at why certain words are so important. “Slice”, for instance, probably wouldn’t be such a strong predictor for whether a record should be tagged as “middle aged” in a larger data set. This is almost certainly a quirk related to our small sample size.

The output for this script is stored in the “categories” folder in a file named “1-Middle-Aged.txt”.


To apply the random forest to all subject tags, run the rforestDS.py script. You should see similar output for each keyword tag, along the training data score and feature importance estimates. To assemble all the estimates into a single file, run the MergeFiles.py script.

GitHub repository for this exercise

Github repository for Dash (formerly Datashare)

Categories: CKM

Recent Accession: Children’s Hospital, San Francisco Nursing School

Brought to Light Blog - Thu, 2014-09-04 10:22

We’ve recently acquired a collection from the Children’s Hospital of San Francisco Nurses’ Alumnae Association, MSS 2006-17. Let’s break that down.

Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1925, page 45, MSS 2006-17.

The California Pacific Medical Center’s historical timeline and UCSF History site prove quite useful for untangling this history. In 1875 the Pacific Dispensary for Women and Children was founded in San Francisco. It underwent a name change and became, more recognizably, the Women’s and Children’s Hospital. Under the leadership of the pioneering Dr. Charlotte Blake Brown (1846-1904) in 1882, the hospital began offering a two-year training program for nurses– the first official of its kind on the West Coast. And in 1887, it finds a new home at the intersection of California & Maple streets. At this point, “the two-story hospital has 25 private rooms, open wards, a cow barn, chicken yard, and laundry. Total cost, with furniture and equipment: $26,000.” The University of California Medical School (that’s us– UCSF!) begins partnering with Children’s Hospital in 1915 to teach medical students.

Group of nursing students, circa 1925, MSS 2006-17.

Which brings us just to about the time period of this collection. Donated by the granddaughter of Ruth Steuben, an alumna of the Children’s Hospital Training School for Nurses, the material covers the education of Steuben, roughly 1925-1929, and includes class notes, yearbooks, photographs, and a uniform apron. Digital copies of Steuben’s school records as well as photographs and letters from the mothers of children nursed by Steuben soon after her graduation are also included. Below, a photograph of Ruth with her graduating class, December 1927, from the Little Jim yearbook.

Class of December 1927, including Ruth Steuben. Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1926, page 22, MSS 2006-17.

And a photograph of many of the same students at a nursing school reunion event in May 1948.

Reunion of nursing school graduates, May 1948, MSS 2006-17.

And now, for your further enjoyment: crossword puzzles! The 1948 Little Jim yearbook includes not one, but two crossword puzzles. The first was created by Adelaide Brown, M.D. (1868-1933) who was the daughter of Dr. Charlotte Blake Brown– both were longtime activists for women and children’s health.

Crossword puzzle by Adelaide Brown, M.D. Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1925, page 48, MSS 2006-17.

Crossword puzzle. Children’s Hospital of San Francisco Training School for Nurses Little Jim yearbook, 1925, page 50, MSS 2006-17.

Please see our other collections regarding the Children’s Hospital of San Francisco Nursing School Alumnae Association, MSS 89-20 and MSS 91-101. Read more about Dr. Charlotte Blake Brown in this fascinating article, The San Francisco Experiment: Female Medical Practitioners Caring for Women and Children, 1875-1932, by Meredith Eliassen and published online in Gender Forum.

Categories: Brought to Light
Syndicate content