Archivo de la categoría: Herramientas y recursos

Herramientas digitales para la docencia: otra vuelta de tuerca

Tratando de modernizar y encontrar mejores espacios para la experiencia de enseñanza~aprendizaje mediante la utilización de los recursos de la historia digital en el momento final (?) de la pandemia de COVID-19, el Seminario de Historia regional que imparto en el programa de doctorado del Centro de Estudios Históricos de El Colegio de Michoacán volvió a contar con un sitio Web particular. Una nueva versión de Región ~espacio, tiempo, historia está disponible en línea y se beneficia con la construcción, por parte de las personas que conforman la generación 2020-2025, de sus diversos proyectos de trabajo elaborados también en línea.

Más allá del objeto particular del proyecto, en términos del proceso de enseñanza~aprendizaje en la era digital, este tipo de dinámicas permite integrar retos acerca del uso de las nuevas tecnologías (TIC’s) a los propios retos teórico metodológicos de pensar y desarrollar la heurística de un proceso de investigación histórica.

Introducción a la historia digital

Para iniciar este mes de octubre fui invitado por la Dra. Maricruz Romero Ugalde, quien forma parte del claustro académico de la Maestría en Estudios Históricos Interdisciplinarios de la Universidad de Guanajuato, a dar un breve Curso-Taller de Introducción a la Historia Digital. Se trata de un módulo de enseñanza compacto, de carácter teórico – práctico para principiantes. Con duración de una semana, permite una primera inmersión en algunas herramientas y técnicas informáticas para el procesamiento, el análisis y la visualización de datos históricos de manera digital. El curso-taller está inspirado en la experiencia de formar parte, desde 2016, del equipo editorial del proyecto The Programming Historian en español.

Para apoyarnos en el curso-taller, armé una bitácora en WordPress con la idea de que sirviera como referente para las personas asistentes pues contiene información sobre el programa, enlaces a diversos recursos en línea. Paralelamente, una actividad a lo largo del curso-taller fue el que cada persona participante desarrollara su sitio Web, aprovechando la tecnología de los Weblogs. Cada bitácora participante fue enlazada a un blogroll disponible en el menú lateral de la bitácora. Con ello se permitió una navegación constante entre el sitio del curso-taller y los desarrollos que se iban llevando a cabo, además de dejar una memoria en línea del evento.

Un dato interesante es que en el propio acervo de la Universidad, la Biblioteca Armando Olivares Carrillo, pudimos conseguir un texto digitalizado muy interesante que nos sirvió para hacer un ejercicio de visualización de datos mediante una nube de palabras. Se trata de un alegato jurídico escrito por el abogado Fernando Fernández de San Salvador en defensa de la marquesa de San Francisco. Hay que recordar que Fernández de San Salvador fue tío de la famosa Leona Vicario. Hay más información en la entrada respectiva de la bitácora del curso.

Finalmente, el sitio Web quedó en línea conservando la experiencia de esta semana que finaliza, con el nombre de Introducción a la Historia Digital ~ The Programming Historian en español. Un dato curioso es que sesionamos en el edificio de Astronomía y Big Data…

5 palabras clave sobre CSyHD

Hoy fue la primera sesión del Taller introductorio a las Ciencias Sociales y Humanidades Digitales (CSyHD) – The Programming Historian, en El Colegio de Michoacán, A.C.

Confieso que lo disfruté. Tengo que escribir mucho más sobre esta primera experiencia. Pero ahora lo que quiero hacer es mostrar cuál es la idea en este ámbito (mexicano, latinoamericano) que se tiene cerca de las CSyHD.

Pedí a los asistentes -antes de la plática- que escribieran 5 palabras clave que reflejaran lo que creían/pensaban respecto de qué son las CSyHD. Luego, las procesé con Voyant-tools para conseguir la visualización en forma de nube de palabras.

Este es el resultado:

¿Por qué aprender a programar?

El jueves de la semana pasada lanzamos públicamente la versión en español de un sitio web bastante conocido por los historiadores digitales: The Programming Historian. Tras unos meses de arduo trabajo colaborativo, la publicación en español es una versión bastante ligera, con una pequeña parte del conjunto de lecciones y tutoriales sobre herramientas digitales, técnicas y flujos de trabajo que se pueden encontrar en el sitio original. Había que comenzar por algo.

No obstante lo incompleto, The Programming Historian en español merece mucho la pena ser visitado porque contiene -por ahora solamente-, la Introducción a Python, un conjunto de tutoriales pensados para estudiarse de manera seriada que permite a los historiadores aprender los rudimentos de ese lenguaje de programación de alto nivel multipropósito. Muchos colegas historiadores y humanistas se preguntarán aquí, «¿para qué nos sirve saber esas cosas que les competen a los encargados de cómputo de mi institución?»

No podemos negar que nuestro quehacer académico se ha digitalizado a un grado superlativo en las últimas décadas. Nos hemos percatado que manipular datos digitalmente nos ofrece la posibilidad de ampliar nuestros horizontes de investigación. Hace tiempo que los historiadores trabajamos con bases de datos de diverso tipo, hacemos análisis de redes sociales auxiliados de programas de cómputo especializado, recurrimos a sistemas de información geográfica para el análisis espacial y para generar representaciones cartográficas, o usamos hojas de cálculo para tabular datos seriales para hacer historia económica o demografía histórica, obteniendo gráficas muy interesantes de tendencias de crecimiento. Pero también, entre otras muchas cosas, los historiadores podemos trabajar con conjuntos de datos masivos (big data), y es ahí donde radica la importancia de aprender un lenguaje de programación que nos permita sacarle provecho a una cantidad ingente de datos.

Los historiadores generalmente acudimos a documentos en los que quedó, en forma de texto, algún registro de los acontecimientos, de las ideas de una persona o de un grupo de personas, así como de las formas culturales de estructurar los discursos. Esos son algunos de los datos con los que trabajamos. Cuando leemos un documento lo interpretamos, es decir, diseccionamos y reorganizamos su discurso de tal manera que los datos nos ofrezca un significado. En otras palabras: manipulamos los datos de diversas maneras a través de un sinnúmero de operaciones de por medio. A veces, con un conjunto de textos, realizamos una serie de operaciones cuantitativas en busca de respuestas cualitativas. Por ejemplo, contamos la frecuencia (concordancia) con la que aparece una palabra o una frase, elaboramos la hipótesis de que esta palabra resulta clave para determinada época, así que buscamos el contexto en el que se encuentra ese término para reconstruir redes semánticas que nos ayuden a comprender un corpus documental mayor. También ponemos atención a las interrelaciones entre un concepto y otro, vemos cuáles juegan un papel intercambiable en el complejo contexto del discurso que nos ofrecen los documentos. Además, ponemos énfasis en las relaciones de intertextualidad entre un tipo de documentos y otros, para intentar reconstruir y explicarnos el contexto cultural en el que se produjeron.

Podemos hacer todo esto de manera más o menos sencilla cuando nos enfrentamos a un corpus documental restrigido, de cien, quinientos o mil quinietos expedientes de archivo… e, incluso, ahí comienzan nuestros peores dolores de cabeza: tenemos que organizar nuestros glosarios de términos, nuestras redes de interrelaciones conceptuales.

Ahora imaginemos que Internet pone a nuestra disposición la transcripción de la impresionante cantidad de ¡197,745! juicios criminales llevados a cabo frente a un tribunal londinense entre 1674 y 1913. Para un historiador solitario, tal cantidad de documentos resulta imposible de procesar y analizar, ya ni se diga de imaginar. Pero, de tener las herramientas, ¿no estaríamos tentados a hacer algunos análisis cuantitativos de esos documentos? ¿No sería maravilloso buscar algunas series de conceptos, sus interrelaciones, los contextos en los que se ubican y sus cambios a lo largo de varias décadas o siglos? La herramienta para hacerlo es posible, está en nuestra propia computadora y solamente es necesario aprender un poco de programación para echarla a funcionar.

En términos de la ciencia de la computación, de la información, de la data, una palabra es una secuencia de caracteres específica, es decir, una cadena de caracteres (string) organizada de una forma determinada que nos ofrece cierto significado, pero que para una computadora es un conjunto de datos procesables carentes de significado. Las frases son una secuencia de palabras interrelacionadas de cierta manera, es decir, cadenas de caracteres de mayor longitud. Un párrafo, el contenido escrito de un documento, el de un expediente, el de un legajo, el de todo un ramo del acervo de un archivo, contiene grandes series diferenciadas de cadenas de caracteres, de datos susceptibles de ser procesados y manipulados por computadora. Los programas de ofimática que utilizamos, como los procesadores de texto, ofrecen cierta capacidad de manipular esos datos, pero es una manipulación elemental y que nunca controlamos a nuestro gusto. En el procesador de texto podemos buscar una palabra determinada (una cadena de caracteres) y obtener un informe de las veces que aparece en el texto. Pero es imposible sacarle más jugo al asunto si queremos incluir las variables de esa palabra y obtener su concordancia en los diversos contextos en las que se encuentra, o construir modelos tópicos. Además, sería imposible trabajar con 197 mil expedientes en ese tipo de programas, por ejemplo, en un solo archivo de MS-Word.

Una de las bondades de Python es que es un lenguaje de programación muy sencillo en su sintaxis a la vez que poderoso (por ser un lenguaje interpretado de alto nivel). Ello facilita el uso del conjunto de funciones orientadas para operar sobre cadenas de caracteres, entre las que se incluyen comparación, búsquedas boleanas, organización por diccionarios, aprendizaje máquina, construcción de n-gramas, modelado tópico y otras más cuya utilización es muy eficaz para analizar datos masivos y generar, con la ayuda de otras herramientas, visualizaciones de los datos que nos permitan encontrar secuencias o tendencias a nivel macro que no podríamos detectar de otra manera; por ejemplo, cómo cambia la relación de sustantivos y adjetivos vinculados con la palabra «asesinato» a lo largo de 150 años, o encontrar, como lo hizo Fred Gibbs, cuál era el método preferido por los criminales londinenses para envenenar a sus víctimas a lo largo de varias décadas. Podemos también construir, estadísticamente, el conjunto de temas predominantes en un conjunto de documentos.

Veamos el ejemplo en el que se basan los tutoriales de Python en The Programming Historian. El proyecto de publicación en Internet de los expedientes criminales londinenses, The Proceedings of the Old Bailey, puso en línea 197,745 transcripciones de juicios criminales, es decir, cerca de 127 millones de palabras registradas a lo largo de 239 años de fuentes históricas capaces de ser analizadas. Esto supuso un reto para los historiadores digitales que generó varios proyectos de desarrollo de herramientas informáticas para proponer un macroanálisis de esto que, en términos de la práctica del historiador, es un conjunto de datos masivos. Entre los diversos proyectos se puede consultar el resultado de Data Mining with Criminal Intent, un proyecto multinacional; Exploring Big Historical Data: The Historian’s Macroscope, y el origen del sitio de tutoriales para historiadores digitales cuya primera versión escribieron WJ Turkel y A MacEarchen The Programming Historian version 1.

Parece que, de ahora en adelante, para los historiadores que se enfrentan de lleno al contexto digitalizado en su práctica cotidiana, saber programar, es decir, escribir código para hacer programas y extraer datos de sus documentos, es muy recomendable. En un mundo donde tenemos acceso a cantidades increíbles de datos, si se permite la comparación, será lo mismo que saber paleografiar.

Mesa de trabajo sobre lo digital en el COLMICH

Arrancamos la semana con una Mesa de Trabajo sobre el uso de la tecnología digital en las diversas investigaciones que se llevan a cabo en El Colegio de Michoacán. Dejo por aquí el programa por si a alguien le resulta de interés, generar algún diálogo.

¿Big data en la investigación histórica?

¿Análisis de big data en la investigación histórica? John Mashey, el científico informático que popularizó el término big data en los años 1990, seguramente moriría de risa si le dijéramos que quienes nos dedicamos a la historia podríamos procesar nuestros datos históricos digitalizados con métodos y técnicas utilizados para el análisis de grandes conjuntos de datos (big data sets). Big data es lo que procesan las grandes empresas de análisis de datos. Se calcula que Google manejaba unos 20 Petabytes de datos diariamente en 2008 (20 X 1,0005 bytes), mientras que toda la información de una investigación histórica no debe rebasar unos cuantos GB.

Sin embargo, los autores del libro Exploring Big Historical Data: The Historian’s Macroscope (2016) recurren al viejo proverbio inglés y argumentan, con razón que: “big is in the eye of the beholder”, algo así como que “el color depende del cristal con que se mire”. Porque en la investigación histórica hay tareas que parecen irrealizables para una sola persona investigadora o para un equipo, como la de procesar en un sólo estudio los 197,752 extractos de juicios criminales digitalizados que contiene el sitio The Procedings of the Old Bailey, la corte criminal de la ciudad de Londres entre 1674 y 1913.

Sobre este libro, la revista Virtualis. Revista de cultura digital del Tecnológico de Monterrey, México, acaba de publicar una reseña mía que puedes encontrar aquí y descargar el texto en PDF.

El libro fue escrito de manera colaborativa por Shawn Graham, Ian Milligand y Scott B. Weingart y es, en realidad, un manual de metodologías, técnicas y herramientas digitales para el procesamiento de datos, mayoritariamente aquellas diseñadas para el tratamiento de lenguaje natural. Por ello, está muy estrechamente vinculado al proyecto The Programming Historian y al ya clásico libro de Cohen y Rosenzweig Digital history: a guide to gathering, preserving, and presenting the past on the Web.

Si hay una forma amable de introducción a la historia digital para estudiantes de grado y posgrado, son esos tres caminos.

Referencias

  • Cohen, D. J., & Rosenzweig, R. (2006). Digital history: A guide to gathering, preserving, and presenting the past on the Web. University of Pennsylvania Press. http://chnm.gmu.edu/digitalhistory/
  • Gayol, V. (2016). Exploring big historical data. The historian’s macroscope. Virtualis, 7(13), 102–105.
  • Graham, S., Milligan, I., & Weingart, S. (2016). Exploring big historical data: The historian’s macroscope. Imperial College Press. http://www.themacroscope.org/2.0/

Procesadores de texto vs escritura académica sostenible

Un serio problema

Hace unos días, un tesista me envió un correo electrónico diciéndome que me remitía ahí mismo el borrador completo de su tesis para hacer la última lectura de revisión antes de someterla al comité académico. Verdaderamente entusiasmado -porque es un trabajo excelente y que lo va a llevar pronto a obtener su grado- abrí el correo, pero mi sorpresa fue mayúscula ya que no encontré ningún archivo adjunto. En cuanto me percaté que el email no tenía un attachment, me comuniqué con el tesista para decirle que su texto no se había adjuntado al correo. Unas (muchas) horas después recibí otro correo en el que me explicaba que había tenido innumerables problemas para adjuntar el archivo al envío y que optaba por hacérmelo llegar por Dropbox. El archivo, que está escrito de origen y guardado como un documento .docx de MS Word ocupa casi 18MB de unidades de información. Sin embargo, su extensión no rebasa las 310 cuartillas y sólo contiene algunas cuantas ilustraciones y mapas. Nada del otro mundo, en cuanto a extensión, que amerite los 18MB (¡18’000,000 de bytes!) de espacio en mi disco duro, cuando bien podría tener solamente 1MB, considerando que cuenta apenas con cerca de 780 mil caracteres más las imágenes, que son pocas, si se ponen en baja resolución. Para tener una idea de qué es a lo que me refiero en términos de extensión, cada carácter equivale aproximadamente a 1 byte por lo que 10MB de unidades de información equivalen a dos veces la obra completa de Shakespeare.

El problema no es solamente la extensión o «peso» del archivo, sino la posibilidad de manipularlo. Como todo borrador de un trabajo, aún debe ser corregido y anotado con las observaciones del director. Si bien MS Word cuenta con una herramienta para ello (-> Herramientas -> Control de cambios), su uso es realmente engorroso y no permite una apreciación cabal y por separado de las correcciones y de las anotaciones. Por otro lado, cualquier cosa que se modifique en el texto, aún siendo solamente el añadido de una coma u otro signo de puntuación, hace tambalear todo el formato del documento, muy probablemente porque el mismo fue generado en una plataforma distinta a la que utilizamos para su corrección (el paso de Windows a Mac, por ejemplo). Incluso, después de trabajar una nota sobre un cambio sustancial, el programa se colapsa y se cierra, descartando los cambios. De esta manera, ponerse a corregir y anotar con la atención debida un trabajo tan interesante, es imposible pues acaba uno por desesperarse y restarle atención al contenido (que es lo importante) por estar preocupado del funcionamiento del procesador de textos. Más valdría entonces imprimirlo en papel para corregirlo y anotarlo de la manera tradicional, lo cual es un contrasentido tratándose de un documento digital, por no hablar del peso que sobre mi conciencia ecológica significaría gastar papel en un borrador.

En los años que tengo de trabajar en entornos digitales (por lo menos 35), ningún procesador de textos me ha dado tantos problemas como el MS Word, en cualquiera de sus versiones. En tiempos de los sistemas operativos DOS, tanto en MS como en Apple, los procesadores como WordStar, WordPerfect o Apple Writer ofrecían un buen servicio: eran robustos, sencillos y eficaces. Raramente se colapsaban, generaban archivos ligeros, y uno podia concentrarse en la tarea fundamental: escribir. Y es que aquellos procesadores carecían de las características actuales, estructuradas con la filosofía del WYSIWYG,1 y uno podía dedicarse a escribir vertiendo fluidamente las ideas en el texto sin distraerse con los detalles del diseño de los márgenes, el formato de los títulos y subtítulos de cada capítulo, el acomodo de las notas a pie y de las referencias bibliográficas así como los demás agregados, gráficos o textuales. Uno escribía y, después del punto final, se dedicaba a acomodar las cosas.

Los procesadores de texto, particularmente el MS Word, no están diseñados para la escritura académica o la literaria. Esto lo han discutido ya varios escritores, científicos sociales y humanistas. Charles Stross, un conocido escritor de ciencia ficción radicado en Escocia, fue al extremo de argumentar Why Microsoft World must Die -«Por qué debe morir MS Word»:

Microsoft Word es un tirano de la imaginación, un pequeño dictador carente de
imaginación e inconsistente, que es inadecuado para cualquier uso en la escritura creativa.
Peor aún, es casi un monopolio que domina el campo de los procesadores de texto.

Soluciones

La entrada del blog de Stross es muy interesante ya que expone varias razones por las cuales MS Word es inútil para la escritura de textos largos, como las novelas, los libros o las tesis académicas. Más aún, uno de los más graves problemas de éste y otros procesadores de texto, es que resulta imposibile producir un documento digital fiable y con garantía de permanencia dado que las actualizaciones de los programas vuelven obsoletos los archivos con la rapidez inusitada de seis meses en promedio. Todos nos hemos dado cuenta en alguna ocasión que es prácticamente imposible abrir un archivo .docx creado y guardado en la versión más actualizada, con una versión anterior del programa. MS World es un buen recurso para el flujo de trabajo de las oficinas y empresas que generan una ingente cantidad de memoranda, circulares, oficios y cartas con una vida efímera; pero no funciona cuando se trata de generar textos cuyos originales necesariamente deben estar a la mano, funcionales y legibles muchos años después, como los textos académicos. Como una alternativa para contrarrestar los diversos problemas de los procesadores de texto como MS Word, Stross sugiere el uso de Scrivener, un procesador de texto pensado para la escritura de archivos largos. Pero, sobre todo, la mejor alternativa es escribir todo en texto plano, generando y guardando archivos .txt, mucho más flexibles, almacenables, distribuibles, independientes de plataforma2 y con garantía de permanencia y legibilidad a largo plazo. Y para ello no necesitamos un procesador de texto sino simplemente un humilde editor de textos como los que vienen por defecto en todas las máquinas: Notepad++ en Windows, TextEdit en OS-X, o la gran variedad de editores que hay para Linux como Vim o gEdit.

El punto de vista de un novelista como Stross es compartido por muchos académicos, pues los problemas que representan los procesadores de texto no son una novedad entre el gremio. W. Caleb McDaniel, un joven historiador de la Rice University en Houston, TX, y egresado de la prestigiosa Johns Hopkins University, es un verdadero entusiasta de este tipo de escritura sostenible independiente de plataforma y con garantía de permanencia. Basta con leer alguno de sus varios textos dedicados al tema, como por ejemplo, Why (and How) I Wrote My Academic Book in Plain Text -«Por qué (y cómo) escribí mi libro académico en texto plano.» En este texto, McDaniel explica detalladamente el cómo es posible adaptar la escritura en texto plano a los requerimientos de los textos académicos mediante la aplicación de un marcaje semántico en el propio texto con el lenguaje de marcado Markdown, desarrollado por John Gruber y Aaron Swartz. Así, es posible hacer uso de cursivas, negritas, listados, referencias y listas bibliográficas, tablas, notas a pie de página y demas florituras de los modos de escribir en nuestro oficio, con sólo un editor de texto plano. ¡Exacto! Hace falta solamente un editor de texto plano, conocer la sintaxis de Markdown y recurrir a herramientas pensadas especialmente para la escritura académica como Pandoc,3 un traductor que funciona en línea de comandos y que convierte archivos .txt o .md a cualquier formato imaginable: .doc, .docx, .odt, .pdf, .html, .tex y un amplio etcétera. Cabe decir que Pandoc fue desarrollado por John MacFarlane, un profesor de filosofía de la University of California, Berkeley; es decir, se trata de una herramienta para académicos pensada y hecha por académicos. En otras palabras: humanidades digitales en su máxima expresión. Al final de su entrada, McDaniel termina explicando el porqué no volvería a utilizar MS Word en su vida. Y yo estoy de acuerdo con él.

Desde que hace casi un año me topé con el sitio The Programming Historian (de cuyo equipo editorial ahora formo parte),4 descubrí varias herramientas y lecciones que me permitieron dejar de complicarme la existencia con los procesadores de texto, así como otra serie de prácticas sostenibles para la producción académica, al grado de que tengo ya varios meses en los que no he abierto MS Word para escribir mis textos, sino única y exclusivamente para leer los que recibo. A continuación dejo algunas pistas de lo que nos puede ser útil como científicos sociales o humanistas para crear textos académicos digitales sostenibles.

En The Programming Historian se encuentra una buena introducción a Markdown, escrita por Sarah Simpkin, «Getting Started with Markdown.» También hay una excelente lección que nos enseña a generar una escritura sostenible con texto plano, Markdown y Pandoc, escrita por Dennis Tennen y Grant Wythoff, «Sustainable Authorship in Plain Text using Pandoc and Markdown.» Si a esto le sumamos buenas prácticas para la conservación de los datos de nuestra investigación, como las que sugiere James Baker en «Preserving Your Research Data«, podemos tener la seguridad de que nos ahorraremos los incontables dolores de cabeza, pérdidas y problemas que nos depara (casi) siempre el uso de software propietario, lo cual redundará en la calidad, permanencia, posibilidad de distribución y colaboración, almacenamiento y más de nuestros textos académicos.

Para leer más

  • Dougherty, Jack y Kristen Nawrotzki. 2013. Writing History in the Digital Age. Ann Arbor: University of Michigan Press. http://writinghistory.trincoll.edu
  • Rosenzweig, Roy. 2011. Clio Wired: The Future of the Past in the Digital Age. New York: Columbia University Press. http://public.eblib.com/choice/publicfullrecord.aspx?p=895110.
  • Voutssas Márquez, Juan. 2013. Cómo preservar mi patrimonio digital personal. México: Universidad Nacional Autónoma de México, Instituto de Investigaciones Bibliotecnológicas y de la Información.

  1. Acrónimo de «what you see is what you get» (lo que ves es lo que obtienes), para referirse a la capacidad de la interfaz gráfica de usuario de las aplicaciones para desplegar el diseño de un documento digital tal y como se verá impreso. Sin embargo, la idea de WYSIWYG es tramposa, pues lo que en realidad conseguimos es un archivo con un código y un marcado muy complejos y confusos para nuestro entendimiento, que se aloja en una capa «invisible», lo cual lo hace inmanejable.
  2. Es decir, legibles sin pérdidas o alteraciones en cualquier plataforma o sistema operativo como Mac, Linux o Windows.
  3. Pandoc es una «biblioteca» o conjunto de módulos o programas escritos en Haskell, un lenguaje de programación de alto nivel multi propósito, y cuenta con una herramienta de línea de comandos que permite utilizar dicha biblioteca.
  4. Estamos trabajando muy duro y en breve contaremos con una versión en español de todo el contenido alojado en The Programming Historian.