Stefano Costa

There's more than potsherds out here

Faccio l’archeologo e vivo a Genova

Tag: digital preservation

  • Postcards from 1910

    Postcards from 1910

    Digital humanities start at home. I present a small collection of postcards dating from 1908 to 1913, that I scanned yesterday as part of a larger collection of 50 letter envelopes (and few actual letters) that ‒ I think ‒ were sent or brought back to Italy when a relative of ours, Enrichetta Costa, passed away in the U.S. in 1923.

    These postcards are mostly conveying short messages, greetings, recounts of happy moments, and they often mention being in good health. Some of them are written in English, some in Italian, showing both a desire to become one with American culture and the need to stay in contact with families at home. These postcards are glimpses in the life of young women in their 20s, who had recently moved overseas. Looking at post office stamps, one gets the idea of such postcards as “short messages” that were sent from a nearby town, or from another neighbourhood of N.Y, and apparently could take as little as 12 hours to get to their destination.

    The 1913 postcard is actually Italian and was sent from Torriglia to Genoa, where Enrichetta was staying. One has to think she brought the postcard back to the U.S. upon leaving Italy one more time.

    It’s tempting to try building social networks from these letters and postcards, and I already started playing with TimeMapper to follow her across the years, even though the bulk of material (that is, the envelopes… but see how I already detached from the emotional value of the object?) is from 1910. Between March and April 1910 she moved from Baxter Street in New York City to the borough of Woodhaven, but only a few months before she was still in Kingston, N.Y.

    I’m sure there is abundant literature on the subject of life of immigrants in the U.S. West Coast, but the afternoon I spent with my old Epson scanner gave me a lot of time to think about the social struggles of the time ‒ after all she was coming from a family of peasants and had moved overseas at 16 years ‒ and how her personal history became increasingly detached from that of her family of origin, at the same time having strong ties to the immigrant community from Torriglia that had formed around N.Y., until the final letter confirming her death, signed by her friend Cornelia Sciutto (a surname that is highly characteristic of a village nearby Torriglia), otherwise unknown.

    I also came across more mundane problems like what is the best way to present digitally these envelopes. I think we should try using animated GIFs like this one. The original images of the front and back side can be easily retrieved with any image editing software (GIMP in my case) but it’s easier to keep the two sides together, without resorting to ugly non-image formats like PDF. A delay of 3 seconds should work fine for most cases, but it can be adjusted accordingly. It would be rather pointless, but fascinating, to go further and create 3D scans of the envelopes ‒ an unwieldy task for something that is normally flat, on a flat surface, with no tangible “volume”.

    There are other issues with publishing these scans, namely exposing the intimate life of people who have been dead for less than 100 years. Surely no one on Facebook cares that their great-grandchildren will be able to sift through their silly day to day chat messages, but today’s assumptions are not good for last year, let alone last century. I’m relieved by the fact that I have almost only addresses, and names, and post stamp dates ‒ and part of me wants someone in Kingston, N.Y. or Woodhaven to recognise one of those names as a distant relative, a long-forgotten ancestor who was friends with Henrietta Costa. If you’re that someone, it would be nice to get in touch, and the sunny Sunday afternoon I spent scanning was not entirely lost.

    In any case, enjoy the postcards!

  • Migrating a database from FileMaker Pro to SQLite

    FileMaker Pro is almost certainly one of the least interoperable cases of proprietary database management software. As such, it is the worst choice you could make to manage your data as far as digital preservation goes. Period.

    There is data to be salvaged out there. If you find data that you care about, you’ll want to migrate content from FileMaker Pro to another database.

    Things are not necessarily easy. If you work primarily on GNU/Linux (Debian in my case) it may be even more difficult. It can be done, but not without proprietary software.

    Installing FileMaker Pro

    You can get a 30-days free trial of FileMaker Pro (FMP): you may need to register on their website with your e-mail address. It is a regular .exe installer.

    Please note that, while other shareware programs exist to extract data from a FileMaker Pro database, there is absolutely no way to do it using free and open source software, and as far as I know nobody has ever done any reverse engineering on the format. Do not waste your time trying to open the file with another program: the FileMaker Pro trial is your best choice. Also, do not waste your time and money buying another proprietary software to “convert” or “export” your data: FileMaker Pro can be used to extract all of your data, including any images that were stored in the database file, and the trial comes at no cost if you already have one of the supported operating systems. After all, it is proprietary so it is appropriate to use the native proprietary program to open it.

    Extracting data

    Alphanumeric data are rather simple to extract, and result in CSV files that can easily be manipulated and imported by any program. Be aware however that you have no way to export your database schema, that is the relationships between the various tables. If you only have one table, you should not have used a database in the first place, but that’s another story.

    Make sure FMP is installed correctly. Open the database file.

    1. Go to the menu and choose FileExport records
    2. Give a name for the exported file and make sure you have selected Comma-separated values (CSV) as export format
    3. A dialog will appear asking you to select which fields you want to export.
      • Make sure that “UTF-8” is selected at the bottom
      • On the left you see the available fields, on the right the ones you have chosen
      • Click Move all ‒ you should now see the fields listed at the bottom right. If you get an error complaining about Container fields, do not worry, we are going to rescue your images later (see below)
      • Export and your file is saved.
    4. Take a look at the CSV file you just saved. It should open in Notepad or any other basic text editor. A spreadsheet will work as well and may help checking for errors in the file, especially encoding errors (accented letters, special characters, newlines inside text fields, etc.)
    5. Repeat the above steps for each table. You can choose the table to export from using the drop-down list in the upper left of the export dialog.

    Extracting images from a Container Field in FileMaker Pro

    If, for some unfortunate reason, image files have been stored in the same database file using a Container Field, the normal export procedure will not work and you will need to follow a slightly more complex procedure:

     Go to Record/Request/Page [First]
     Loop
          * Set Variable [$filePath; Value: Get ( DesktopPath ) MyPics::Description & ".jpg"]
        ** Export Field Contents [MyPics::Picture; “$filePath”]  
            Go to Record/Request/Page [Next; Exit after last]
    End Loop
    *Set Variable Options: Name: $filePath
     Value: Use one of the following formulas
    Mac: Get ( DesktopPath ) & MyPics::Description & ".jpg"
    
     Windows: "filewin:"& Get ( DesktopPath ) & MyPics::Description & ".jpg"
    
     Mac and Windows: Choose ( Abs ( Get ( SystemPlatform ) ) -1 ;
         /*MAC OS X*/
          Get ( DesktopPath ) & MyPics::Description & ".jpg"
     ;
          /*WINDOWS*/
          "filewin:"& Get ( DesktopPath ) & MyPics::Description & ".jpg"
     )
    
     Repetition: 1
    
     **Export Field Contents Options:
     Specify target field: Picture
     Specify output File: $filePath

    Migrating to SQLite

    SQLite is a lightweight, file-based real database (i.e. based on actual SQL). You can import CSV data in SQLite very easily, if your starting data are “clean”. If not, you may want to look for alternatives.

    Appendix: if you are on GNU/Linux

    If you are on GNU/Linux, there is no way to perform the above procedure, and you will need a working copy of Microsoft Windows. The best solution is to use VirtualBox. In my case, I obtained a copy of Microsoft Windows XP and a legal serial number from my university IT department. The advantage of using VirtualBox is that you can erase FileMaker Pro and Windows once you’re done with the migration, and stay clear of proprietary software.

    Let’s see how to obtain a working virtual environment:

    1. Install VirtualBox. On Debian it’s a matter of sudo apt-get install virtualbox virtualbox-guest-additions-iso
    2. Start VirtualBox and create a new machine. You will probably need to do sudo modprobe vboxdrv (in a terminal) if you get an error message at this stage
    3. Install Windows in your VirtualBox. This is the standard Windows XP install and it will take some time. Go grab some tea.
    4. … some (virtual!) reboots later …
    5. Once Windows is installed, make sure you install the VirtualBox Guest Additions from the Devices menu of the main window. Guest Additions are needed to transfer data between your regular directories and the virtual install.
    6. Install the FMP trial and reboot again as needed. Then you can open the database file you need to convert and follow the steps described above