Digital Humanities Tools for Beginners and Non-coders

Dear beginners to Digital Humanities and non-coder academics,

I have some good news for you: you can begin your digital humanities project and explore different tools before you learn to code or not learn to code at all. As scholars, we continue to learn and decide which digital skills are best suited for our research and projects. We may learn a skill and later decide our efforts are best spent honing a different digital skill or methodology. The most common coding languages we, the GCDFs, use and teach are R and Python. But, until you decide to learn either, both, or another coding language, there are tools you can use to execute your digital research and projects. 

A tool that many of us have encountered and that we might not necessarily think of as a DH tool is a spreadsheet softwares in which data is arranged in rows and columns and can be used to make calculations or re-organized to reveal patterns. Spreadsheets are a great tool to store, organize, clean, analyze, and even create simple visuals of data points. They are a helpful beginner tool that can assist you in deciding if you need to use more dynamic systems like databases or write code to perform more complex analysis and synthesis of your data. 

A tool that utilizes the simple spreadsheet software is Knight Labs Timeline. TimelineJS is an open- source tool that allows you to visualize your data into an interactive timeline to include text, maps, images, and audio! An example of a project that uses Kinght Labs’ Timeline is Jenna Queenan’s 20 Years of History: New York Collective of Radical Educators

Another way spreadsheets can be used is to analyze text. Both Google Sheets and Microsoft Excel feature “Analysis Content” add-ons to allow users to conduct sentiment analysis or topic detection. However, what if you have a machine readable text and you want to use it as a corpus to conduct a text analysis? (A machine readable text: an image, handwritten, or printed text encoded into a digital data format to be machine recognizable. Think of a document where you can highlight individual characters as opposed to a document where you are unable to highlight a single character and the entirety of the document is highlighted because the machine recognizes it as one large character. Or think of those scholarly articles that can be read to you by your text-to -speech application. Both being able to highlight individual characters in a document and having the document read to you indicates that the text is machine readable.) So, if you have a text formatted in plain text, HTML, XML, PDF, RTF, or MS Word, even if it is in a Language Other than English, you can use an open-source tool called Voyant-Tools to upload your corpus or corpora and conduct the text analysis. Voyant-Tools can also assist in widely-reading (or distant reading) a text or formulating research questions

The benefit of both TimelineJS and Voyant-Tools is that they allow you to either simply use them as is or expand the scope of your project further you become a coder. These tools are examples of open-source, web based, non-coder tools that allow for both beginner DHers and non-coders to gain access to DH strategies and methodologies while avoiding the cost of non-coder proprietary tools. For more DH tool options, both for advanced users and beginners, check out University of Toronto’s Find Digital Scholarship Tools website. 

For more on DH methodologies and applications, go to our blog and check out our catalog of  events

Best wishes, 

Your fellow (learning to code) DHer.

students working on laptops at same table

Call for Proposals: Provost’s Digital Innovation Grants 2019-2020

Applications for Provost’s Digital Innovation Grants – also known as PDIGs – are open! If you’re working on a digital project, planning to, or hoping to attend a short course or workshop to learn a skill that may support a current or future digital project, then this grant opportunity is for you!

PDIGs are broken out into 3 tiers – Training, Start-up, and Implementation grants – all of what are during by 5:00 PM on Friday, October 18, 2019

Learn more about this Call for Proposals: Provost’s Digital Innovation Grants 2019-2020 and review past projects on our digital grant website.

GC Digital Showcase

The GC Digital Initiatives will be hosting the GC Digital Showcase this year on Wednesday, May 22nd from 4:00 – 6:30pm. The event is hybrid, and attendees can join in-person at the Graduate Center Segal Theatre or over Zoom. The event will feature student projects from the MA in Digital Humanities Praxis seminar, the Provost Digital Innovation Grant, and research from other students from across the GC. 

Presentations will demonstrate exciting work in a broad range of tools and methodologies including digital publication, digital archiving, and digital pedagogy. Join us and hear about the brilliant digital scholarship being done at the GC! 

In-person Registration: RSVP HERE

Online Registration: RSVP HERE

Green and blue and yellow succulents bunched together

Digital tools and military technology– Reflections on AI amidst genocide

In the past few years, conversations about data ethics have taken up a place of central importance in the fields of digital humanities and geography. We’ve become increasingly aware of the delicateness and care with which academics have to employ digital tools. As a geographer, I’m concerned with the ways that people, academics included, make and remake the world around us. Digital technologies allow us to deepen and expand access to knowledge production and to revolutionize our world-making practices. But the possibilities for our world-making are conditioned by the tools we use to build it. 

The uneasiness I feel about using emerging technologies in academia in pursuit of expanding access to knowledge production has become sickeningly clear in the past seven months, as I piece together the reality that many of these technologies were not developed to expand liberatory world-making practices. Instead, the innovation of these technologies has been animated by collaborative interests working in concert to develop the power to annihilate–in this case, to annihilate Palestine. 

Digital tools that are similar to, if not the same as, the ones we use in our research and the classroom are creating the conditions for the ongoing genocide of Palestinians in Gaza by the Israeli military. In the past seven months alone, Israeli forces have killed over 33,000 Palestinians and displaced over 1.4 million. On average, Israel is killing over 250 Palestinians a day, far surpassing the death rates of any other major conflict in the 21st century–compare to the average rate of 50 Iraqi deaths per day at the hands of the US military. How is this even possible? Tech makes it happen. The collaboration between the tech industry and the Israeli military is unparalleled–the Israeli tech industry is the second largest in the world, just behind Silicon Valley, but its overt R&D focus on warfare is unlike anything else. The IDF actively uses Gaza and the killing of Palestinians as a testing ground for new technological warfare before cybersecurity companies take their killing machines to the world market.   

When Israel bombs hospital after hospital, claiming afterward that Hamas operatives were identified in the building, they used AI to make those identifications for them. The military employs an AI technology called Lavender to identify human targets. Lavender has generated a list of 37,000 Palestinians who were marked as suspected Hamas fighters, and assassination approval is automatic for people on this list–no fact-checking or confirmation is made by any human person before the Palestinian suspect is targeted and killed. The machine generated this list of 37,000 by giving every single person in Gaza a rating from 1-100 on how likely they are to be working with Hamas. The rate of error for this AI is 10%. 

From this list generated by AI, Israel uses two more AI programs: one called “Where’s Daddy?” and another called “Gospel.” These programs track suspected Palestinians targeted for assassination. This software tracks the locations of suspects and sends an alert to targeting officers when the suspect has arrived at home so that officers can mark the home for automatic bombing. Israeli military policy allows the killing of 15-20 non-targeted Palestinians to be considered “collateral damage,” so targeting officials are free to employ intel from “Where’s Daddy?” when families are at home. The lag-time between the “Where’s Daddy” alert and the actual bombing often means that families are bombed in their homes when the suspect isn’t actually even there. With the lack of human oversight, error rates, and lag-times, it’s clear that the Israeli military and tech companies are not developing AI to mitigate the death and destruction wrought by warfare–they aim to make it automatic and all-encompassing. With this technology there is no use for precision killing, there is only mass assassination, only genocide. 

Militaries both abroad and in the US fund, develop, and test the digital technology with warfare, and then the tools trickle down to us. Sometimes for better, sometimes for worse, digital tools deepen and extend our connections to one another across space and time. As researchers and educators, we have to think hard about this connectedness and imagine ways we can build new tools, or reappropriate the ones we already have. I don’t have a solution to the difficult feelings of complicity that come up for me in light of all of this. But I think it’s important to carry that feeling–to remain painfully aware of the horrors that make the technology we use possible. 

To learn more about military technology testing in occupied Palestine, read The Palestine Laboratory: How Israel Exports the Technology of Occupation Around the World by Antony Loewenstein. 

For a history of the relationship between fascism and tech innovation, read Fascist Pigs: Technoscientific Organisms and the History of Fascism, by Tiago Saraiva.

student sitting at table looks off to front of room

What’s a Classicist like me doing in a digital intensive workshop like this?

Patricia Hatcher
DRI Participant, Winter 2024

That’s right, I’m a Classicist— the kind who works on Greek and Latin literature. The kind
whom you imagine to be holed up in a library somewhere, surrounded by dusty old books.
The kind who is in a field that is slowly realizing that, to remain relevant in the modern
world, it needs to more fully embrace technology.

As a PhD student in a field that has traditionally been seen as “stuck in the past,” it is
challenging to know where the path forward even begins. In many ways, Classicists are in a
limbo created by two issues. First, we usually lack any formal education in software skills
beyond using basic computer programs (I understand that there are exceptions). Second,
programming has a technical language that can be a barrier for newcomers. So we don’t
know the language to articulate the type of software that would be helpful for our research,
we don’t know where to go for help, and even if we find help the basics are still beyond our
abilities.

Except…

I am a student at the CUNY Graduate Center, and our school is serious about digital
initiatives. Thanks to support from the Provost’s Office, the Graduate Center was able to
once again hold their annual Digital Research Institute (DRI) in January. Three students
from the Classics department were selected to attend the five-day workshop series on core
digital research skills such as HTML/CSS, Python, command line, and pandas. Dare I say
that another student who wasn’t selected for this iteration still trekked to my apartment to
sit and learn next to me? That is how important the education and support of the DRI is to
the GC’s Classics students. We understand that this workshop series will positively impact
both our research now and our job searches later.

Over the course of 5 days— plus a weekend break— we learned from the ground up. No
knowledge was assumed; no condescension was present. We all had very little to no
background with the software side of computers, yet by the end of the first day we were
using bits of code to run small programs.

I probably won’t use some of the programming languages, but now I know why I won’t. I did
fall in love with HTML, and pandas will be extremely helpful for my research. Through
pandas, I can pull data from open institutional databases and parse the information in a
fine-toothed way. I had no idea this was possible before January’s workshop.

The other amazing aspect of the DRI is its continued support as the semester progresses.
We still have access to the very step-by-step guides created by the GC Digital Fellows who
facilitated the Institute. These same Fellows have offered opportunities each month for us
to come into the GC to ask questions and work on projects with their guidance.

Do I know everything about programming languages now? Nope. But I do have the vocabulary to articulate my software research goals, and I feel very comfortable asking for help from the Digital Fellows from the DRI.

Unlocking Python’s Power with the DRI

By Annapia Borraccino

DRI Participant, Winter 2024

“Coding can’t be that hard, you just need to practice it.” This was my mantra before I chose to move all the way from Italy to New York City to pursue a career in Computational Linguistics. However, my perspective shifted during the first semester as I grappled with overwhelming anxiety while delving into Python, finding myself paralyzed in front of a few lines of code.

Just as doubts about my suitability for a coding path began to creep in, a lifeline arrived in the form of an email from the CUNY Graduate Center Digital Research Institute (DRI). They extended an invitation for a free 5-day experience, immersing me in the realms of coding, Python, and other essential research tools. Just what I needed! I submitted my application, and fortunately, it was approved.

The workshop encompassed not just the refinement of basic Python skills but also provided insights into HTML/CSS, equipped me for data manipulation through Pandas, and introduced me to Text Analysis using the NLTK library. These are indispensable tools for a novice Computational Linguist like myself. The Digital Fellows established an ideal classroom atmosphere that was non-judgmental. They elucidated the material with clarity and facilitated collaboration. Regular discussions expanded the material’s relevance, prompting significant inquiries about technology’s role in both research and society at large.

In an early session, a Digital Fellow shared how he struggled to get the hang of coding, facing multiple failures. Yet, he persisted, highlighting that the more he revisited the learning process, the more proficient he became. Throughout the workshop, other Fellows acknowledged that though the journey isn’t always smooth, it is never impossible. This gave me the reassurance I had been looking for and I felt inspired to keep going!

I loved rediscovering the joy of coding, and I was reminded of both its fun and potency in the realm of research. Leaving this experience, I felt empowered and equipped with a significantly enhanced understanding of programming. Now, when I glance at a piece of code, I believe in my ability to handle it and confidently write my own, trusting that I’ll unravel any challenges along the way. Thank you to the Digital Fellows for proving me right: coding isn’t that hard; you just need to practice it!

Digital Women: Commemorating Women’s History Month

March is Women’s History Month and I want to bring that to the digital fellows’ blog. First, I want to say that when I mention women, I am including cis and trans women (I wish soon this would be too obvious to have to clarify it!). In line with this month, I want to share some resources and ideas for women’s justice in our digital scholarship. Some of the ideas come from my personal digital experiences. 

1- Read Data Feminism. This book, written by Catherine D’Ignazio and Lauren F. Klein, is available online and open to everyone. It is an excellent resource to learn about feminist intersectional principles and approach(s) to investigate data, power, and women and gender issues in tech. 

2- Learn about the history of women in tech. Data Feminism is also a great place to start learning about women in tech history. However, there are many other resources to learn about women (and please with an intersectional perspective!) in the history of computers, programming, and digital issues in general! For example, a nice start can also be The Forgotten Female Programmers Who Created Modern Tech and When Women Stopped Coding.

3- Participate in digital communities on women’s issues. Many communities in diverse fields work to reduce gender gaps on the internet. For example, you can participate with a mapping community around Open Street Map. This March, I collaborated with Geochicas to map Women’s manifestations on March 8th, International Women’s Day, across the globe. The map is available here

Another example of this kind of community of practice is Indiciplinadxs, a digital community of feminist linguists from the Americas (but open to people from around the globe) that I have co-led since 2020. In March, we commemorated with a session to talk about the activities we have participated in to commemorate this month and a collective writing asynchronous exercise regarding women and gender issues in the present moment. 

Screenshot of the website of feminist linguistics Indisciplinadxs

4 – Participate in events to change digital bias. One example of these events is the feminist edit-a-thons to change the gender gap on Wikipedia. For example, this March Wikipedia has been developing the initiative Celebrate Women. According to this campaign: “Wikipedia hosts more than 1.9 million biographies. Less than 20% of those are about women and non-binary people. Citations, pictures and perspectives of women and non-binary people have similar gaps on Wikipedia.” So Wikipedians who join the initiative collaborate in different ways to reduce the gender gap in the encyclopedia.

Now, March is not the only time of the year you can collaborate to reduce the gap. Different organizations organize events all year, such as Art+Feminism. You can even get in touch with Wikipedia to organize your editing activities either as part of your teaching or as a part of a group or community. 

5- Read research about technology produced by women scholars! If you teach, consider your selection of readings and include both men, women, and non-binary scholars. Additionally, help your students learn about the different identities included in your literature so that they can start deconstructing their ideas on authorship and knowledge production about gender issues. 

Finally, I think important questions to continue thinking about this topic are: 

  • How can you relate the digital topics you work on with more sustained activities for gender equality that exist around you? 
  • What women and gender communities of practice can you contribute to, amplifying both what you do and what they do? 
  • What activities can you do to support women in the digital field beyond your publications or specific academic projects? 

10 Useful Extensions for VSCode

As a Digital Fellow, I often teach workshops that utilize the text editor VSCode. During these workshops, I almost always find myself recommending that the participants install extensions to the editor.  Extensions are, as the name implies, tools that the VSCode community of developers have created to extend the functionality of the editor. While it’s true that VSCode offers a range of features and functionalities out of the box, in my opinion its true power lies in the vast ecosystem of extensions available in the marketplace. (Note: despite it being called a “marketplace,” the extensions are almost always free!) Whether you’re writing scripts in Python, creating a web application, or working with markdown files; there are many useful extensions that can help with your workflow and generally make your programming experience more agreeable. That being the case, it occurred to me that I might create a brief, handy reference of the extensions that I personally find most useful.

It should be said that there are many, many extensions available, and this is by no means intended to be an exhaustive list. It is my hope, however, that you will find several of these extensions useful for your own work with VSCode, especially if you are in the beginning stages of learning to code.

Installing Extensions

Installing and managing your extensions in VSCode is a relatively painless process. If you open VSCode, you’ll notice a button that looks like building blocks on the left-hand sidebar:

Clicking this will open up a form field in which you can search for extensions in the marketplace, as well as a list of extensions you currently have installed.

If any of the extensions mentioned below seem particularly useful for you, I encourage you to look them up and add them to your own editor.

Useful Extensions

Here are 10 of the handiest extensions I’ve discovered, not sorted in any particular order.

1) Live Server

Live Server is an incredibly useful tool for web development. The extension allows you to launch a local development server and see your code changes in real time in your browser. Simply saving your code files will automatically refresh the browser so you can immediately see the changes you’ve implemented.  Once installed, it is quite easy to use—just click the Go Live button to launch the server.

2) CSS Peek

CSS Peek lets you quickly access and display the CSS definitions in your HTML files without having to manually open and search your stylesheets. You can display the style of a particular CSS class or ID in your HTML simply by clicking on it. You can also jump right to the CSS definition in the stylesheet and begin editing it.

3) TODO Highlights

While programming, you might find you want a way to remind yourself of areas of your code that you need to fix or return to at a later time to add more features. This extension allows you to write a TODO (to do) message in your code that will help you keep track of tasks and comments in your code. It highlights comments with the specific TODO keyword so they stand out from the rest of your code, and even creates a list of tasks you can easily refer to.

4) Code Spell Checker

Although programming doesn’t enforce correct spelling of words, it is often the case that you can break your whole program with a simple variable name typo.  The Code Spell Checker extension helps to catch common spelling errors in your code (like you might find in most word processors) while not flagging the usual abnormal constructs of language that most programming languages employ. The extension is especially useful if you are working with markdown files and simply want a reliable spell checker to review your writing.

5) GitHub Copilot

The era of AI is upon us, so you might as well take advantage. GitHub Copilot is GitHub’s version of an AI powered code prompter, and it really is quite extraordinary.  It gives you real-time code suggestions while you type, and is remarkably good at recognizing the overall architecture of your program and your coding style. It can even write code based on the comments you provide it.

6) Python

If you are working with Python files, this extension is a must-have. It provides support for code formatting, linting (flagging your code for potential errors), debugging, and other essential programming tools.  It also allows you to work with Jupyter notebook files directly in VSCode, and visualize the code just as you would within a Jupyter environment.

7) VSCode-pdf

If you have .pdf files in your project, you might wish to quickly review them without having to open up another program. VSCode-pdf allows you to quickly display and review your .pdf files within VSCode itself, and provides a navigation outline for different chapters (if the .pdf file contains them).  Although it doesn’t allow you to mark up the file, I’ve found it a useful way to quickly reference the content of a .pdf file without having to switch environments or start up other software.

8) Remove All Comments

While it is always good practice to comment your code, there may be cases in which you simply wish to rid a code file of comment clutter. This extension allows you to quickly remove all comments from a particular file without having to hunt them all down yourself. You can also specify if you’d like to remove only single- or multi-line comments.

9) WSL

If you are using Windows, but would like to run a Linux commands and applications, the WSL (Windows Subsystem for Linux) lets you run a Linux environment in VSCode without the overhead of loading a full Linux virtual machine.  All of your favorite Bash commands and functionalities with a typical Linux distro like Ubuntu are then available to you alongside with Windows functionality.

10) Live Share

When developing a project, collaboration is almost always going to be a necessity. Even if you are not working with a team of people, you will likely want to ask others for help and review your code. Live Share allows you to collaboratively edit and debug a project with others in real time, much like you might work together collaboratively on a single Google doc.  With the extension, you can simply generate a link, send it to others, and have them click to join your VSCode session.

As mentioned, we have only scratched the surface of the extension ecosystem for VSCode here. Whenever you begin a new project, I highly recommend that you consider the programming language you are working with and the types of tasks you’ll need to accomplish, and then search around the marketplace for tools that might make your life easier—chances are you’ll come across something to suit your needs.

[Rescheduled] Beginning Game Design with Python

Level up your Python programming skills by creating a simple computer game! In this workshop you will be introduced to Pygame, a free and open-source library for creating computer games in Python. Specifically, you will create a simple “Frogger” style game that will introduce you to the following concepts: drawing text and graphics to the screen, capturing keyboard input and representing movement, creating basic collision detection, increasing difficulty, and implementing game loops with win/lose conditions. Because we will not have time to cover all of the fundamentals, it is necessary to have at least some previous Python programming experience. We will work in VSCode and the game assets (e.g., graphics) will be provided for you.

Sign up for free at this link.

The smartwatch dilemma

I started to think about purchasing a smartwatch amid a strong need to improve my health. Could this tool keep health information that would help me understand how to improve certain practices? Could it support me in my goals or tasks? More generally, how could it contribute to my life?

I started imagining myself wearing the watch. Since I am interested in the health use of the smartwatch, I didn’t want to have phone calls, messages, and social networks tied to my wrist! In a world that is pushing us to immediacy, I don’t want to embody my notifications. I needed a watch that allowed me to deactivate all of the above.

My goal was solely to collect my very own data from my body to make data-informed decisions. I even thought of creating artistic visualizations of myself using the data collected from the smartwatch for self-exploration (yup I love data!). 

When I started to see the promises of what smartwatches could do to track my health, I was excited. For some personalities, having a machine constantly checking our hearts, our sleep patterns, and many other details feels empowering. I was captivated by the idea of using the watch to help me with my mental health! 

I started to look for devices that would be more precise with the biometrics. I ended up finding four main brands that (bingo!) are all produced by Big Tech (what a surprise!). As this was a hard decision, a big change in my everyday life, and quite an investment, I looked for peer-reviewed papers on applications of smartwatches. 

My big shock came when I read researchers mentioning that their studies were limited by the lack of access to the raw data. Yup… doctors were unable to use the technology to follow the conditions of their patients because they couldn’t have full access to the data… As explained by Blaine Reeder and Alexandria David (2016) in Health at hand:

“Another limitation of current smart watch research is the matter of where data will be hosted, who will manage it and who will pay for it. Proprietary data management models from single vendors can solve the problem of data collection, analysis and hosting with subscription models [hyperlink in original]. However, this approach is not transparent from the standpoint of algorithms used to analyze data [hyperlink in original] and can present problems of data ownership and access, especially if vendors are sold or go out of business.”

Journal of Biomedical Informatics, Vol. 63, pp. 269-276

Let’s make it clearer: you pay ($$$) for a device that you tie to your wrist to extract data from your own body (your personal physical territory in this world!) and send it to Big Tech. Then, Big Tech keeps your data and you only get access to the final (processed) data that you will consume on an app owned by the same company that made the watch. (Bitter laugh here). Even worse, you don’t have access to most of your data unless you pay for a premium version of the app! 

This concept of paying to rent software with a subscription-based model, rather than buying it for perpetuity, is what is known as Software as a Service (SaaS). This is a form of Digital Rights Management (DRM), which implies that a designer can state when you can and cannot use the software you bought – for instance, needing to authenticate with the server to use your product, and therefore needing to have your activity monitored by the designer.


At this point, it was clear to me that I was not going to put on the shackles of a smartwatch.  How would Big Tech use the data of my heartbeats, sleep patterns, feelings, and the info produced by my very own existence as a human? I refuse to participate in having my biometrics extracted to be used to train commercial apps for the surveillance of productivity under the guise of public health. I refuse to put the responsibility of health management on needing to pay for a device. I refuse to make mental and general health care more commercial, meritocratic, and individualistic. I refuse to have my body treated as data.

Mapping User Group Meeting

The Geographic Information Systems (GIS) / Mapping working group is a network of CUNY students, faculty and staff who are interested in sharing methods and techniques, and finding support from others about ways GIS can be used to further research and teaching.

The GIS/Mapping working group is part of a GC Digital Initiatives program designed to create collaborative communities of Digital Fellows, CUNY-wide graduate students, staff, and faculty to meet regularly and share their areas of interest. The working groups provide a sustained, supportive environment to learn new skills, share familiar skills, and collaborate with both the Digital Fellows and the CUNY digital community.

If you are using Geographic Information Systems or other mapping technologies in your teaching and/or research, or if you are interested in mapping your data, or using GIS technology to analyze/visualize your data, we invite you to join the GIS/Mapping working group. You can join the Commons group and learn more here.