Why I stopped my Twitter bots

As some of you might know, I have written about my Twitter bots on this blog a number of times. Now I decided to shut them all down and wanted to give at least a short explanation of why that was. TLDR: It got unexpectedly expensive and I reasoned the benefit wasn’t really worth the price. Off-topic note on posting schedule: As my devoted readers have probably noticed by now, we’re down to a bi-weekly posting schedule at the most. I have been thinking about it and I’m aiming for two posts per month for now. Actually that’s less than every second week. The point is, I have been reflecting about what makes this blog what it is and I think that’s the good posts I come up with every once in a while. When those add up, that makes the blog a useful resource for time to come. It’s these posts that I want to focus on. And frankly,

read more Why I stopped my Twitter bots

List of Resources for getting started with (teaching) digital methods

Having just attended a talk in an event on Digital Humanities and Neo-Latin, I was inspired to share a short list of introductory resources on DH, especially for teachers who feel more like Humanities scholars and don’t have tons of time to learn everything autodidactically. They can use those resources to learn for themselves and pass on this knowledge or pass on this link. But also, since you’ve found this blog, you’re already on a great path to learning DH! 🙂 I’ll try to keep this updated – and it’s not really done yet, so feel free to contribute. Discipline-independent DH dariahTeach: great MOOCs on many topics Source criticism in a digital age DARIAH-EU DH course registry EADH Courses List Digital Classics Article by yours truly in German: Digitale Lernplattformen und Open Educational Resources im Altsprachlichen Unterricht I. Technische Spielräume am Beispiel des ›Grazer Repositorium antiker Fabeln‹ (GRaF). It contains a few resources on digital resources and digital teaching, mostly

read more List of Resources for getting started with (teaching) digital methods

I finally finished my own #100DaysofDH – Here’s the wisdom!

Like the title says, I finally finished my own #100DaysofDH challenge. And I haven’t kept my promise to you guys. I (think I) said I would continue blogging every second week but now I’ve left you hanging for a whole month! I’m so sorry. I will try to get back into a regular posting schedule (still reduced until the dissertation is done but I’ll try to at least post every once in a while). Anyways, as I’m nearing the end of my #100DaysofDH challenge (and having declared myself as the worst challenge founder ever in history), I’m starting to get philosophical and the wisdom is coming in. Since I couldn’t deprive you of that, here it comes. (It really isn’t that bad, actually!) Wisdom 1: Read error messages, it works! This one is kind of self-explanatory but once you’re in those long coding sessions, you sometimes forget to do the most obvious stuff. I just recently coded on some stuff

read more I finally finished my own #100DaysofDH – Here’s the wisdom!

Machine Learning for the Humanities: A very short introduction and a not-so-short reflection

Machine Learning is one of those hot topics at the moment. It’s even starting to become a really hot topic in the Humanities and, of course, also in the DH. But Humanities and Machine Learning are not the most obvious combination for many reasons. Tutorials on how to run machine learning algorithms on your data are starting to pop up in large quantities, even for the DH. But I find it problematic that they often just use those methods, just show you those few lines of code to type in and that’s it. Frameworks have made sure that ML algorithms are easy to use. They actually have a super-low entry level programming-wise thanks to all those libraries. But the actual thing about ML is that you need to understand it or it’s good for nothing. (Ok, I admit there are some uses which are pretty straightforward and don’t need to be fully understood by users, such as Deep Learning powered

read more Machine Learning for the Humanities: A very short introduction and a not-so-short reflection

Create your Tweepy/AWS-powered Twitter bot in a day

This post wants to convince you to try out creating a Twitter bot using Python Tweepy and AmazonAWS Lambda because it’s easy and fun. Of course, you can use any other utilities but Tweepy and AWS Lambda are the ones I tried. This is not a full tutorial but I can make one if anyone is interested. Inspired by the #100DaysofDH challenge In this post, I will just give you some basic Twitter knowledge, links for what you need to know to get it done and a link to the github of my #100DaysofDH challenge for which I implemented such a bot. If you want more guidance, please let me know. Also, read the post on the challenge because I noted down some restrictions I realized the Twitter automation guidelines impose on bots as I went along. In my example, I think I’m in fact doing one or two things which you actually shouldn’t do (I think bots shouldn’t like

read more Create your Tweepy/AWS-powered Twitter bot in a day

Join the #100DaysofDH Challenge!

I have been following the #100DaysofCode community for a while now and thought that it was sad that there didn’t seem to be a connection with the DH community. 100 Days of Code is such a great project which is motivational for those willing to learn but also a great way to foster a community. So I thought, why not start #100DaysofDH and I did. Looking forward to your contributions! The main activity around this will be happening on Twitter (account is @100DaysofDH, hashtag #100DaysofDH) but there is also a minimalist github.io page: https://100daysofdh.github.io/  On the github, you can also find the current state of the Tweepy and AWS-powered bot. The story behind the creation of this challenge Before getting into the details of how the challenge works, let me share some thoughts that I had in mind for the adaption of the 100 days challenge to the DH (skip this part if you just want the rules which can

read more Join the #100DaysofDH Challenge!

Learning to program: Failing fast and error messages

Today I wanted to talk about error messages and why you should learn to love them. If your mission is to learn programming, they show you your weakness and tackling a weakness is always the fastest way to learn. This is why the whole discussion of fixing error messages quickly turns into a philosophical discussion of a way of life: Walking the  path of the Ninja requires you to fail fast, early on, and often. Let me tell you why… Should you care about error messages and warnings? Are they secret messages from the universe? Yes, they are. If you’ve never given a hoot about errors and warnings in your life, congratulations. I don’t either. That is, until the thing doesn’t compile anymore. I am at awe with respect for people who fix mistakes before they become a problem. But I’m not one of them. What does this mean, however, with regard to your attitude towards failure? It probably means

read more Learning to program: Failing fast and error messages

Looking at data with the eyes of a Humanist: How to apply digital skills to your Humanities research questions

In my recent post on how to get started doing DH, I basically said that the essence of being DH is looking at data with the eyes of a Humanist and gave some tips on how to get started in just 10 days. However, it’s not that easy. Learning digital skills and the problem of skill transfer A problem I see a lot is that H people fail to transfer their newly won practical DH skills to their own research questions. They don’t know how to look at their own material as data. They don’t know how to leverage digital methods to help answer their own research questions. But if it isn’t compatible with their own research, they’ll never deepen their knowledge enough to actually profit from their DH skills. If you don’t use them, they are forgotten quickly. So how do you make this transfer which I think is, so far, being neglected as a skill which has to

read more Looking at data with the eyes of a Humanist: How to apply digital skills to your Humanities research questions

Formulating Research Questions For Using DH Methods

In the feedback forms I did on the DH classes I have taught over the last years, I got one feedback I didn’t expect: People were extremely grateful I had practiced with them how to formulate valid research questions which, apparently, no one had ever (really) done with them before. I found that quite astonishing because the DH are all about methods and methods are like specizalized tools. You need to know what you can use them for. So here’s the crashcourse. The Hammer and the Nail I want to start off with an analogy. A hammer is a specialized but not an extremely specialized tool. You can use it for a range of tasks, however, not all tasks are going to work equally well. Some might work but would actually require a more specialized tool if you had one. You can really use the hammer on about anything and almost always, something is going to happen. For example, you

read more Formulating Research Questions For Using DH Methods

What are ‘real’ Digital Humanities and how to get started?

The title suggests a political discussion, however, this is not what I want to discuss here. (However, I had a ‘more political’ discussion planned for a while.) At a recent conference, I realized many people from the Humanities find it difficult to grasp what the DH even really are – because they are so diverse. I was told a colleague had gone to a short DH summer school but still feels like she doesn’t get what the DH really are. Or that she hasn’t learned any ‘real DH’. How does this happen? How can we make it better? Maybe, as a first step, by trying to answer what the DH are in a way which is easy to grasp for someone who isn’t already part of the DH: It is really an umbrella term for a wide range of topics ranging from digital edition to long-term archiving, digitizing facsimile scans of books or running analyses. I don’t promise to unveil

read more What are ‘real’ Digital Humanities and how to get started?

Learning to program: What to do if the program doesn’t compile

In this new year, I wanted to make an introduction to programming which mentions all the parts which (albeit being quite essential) many of the other tutorials, books and teaching documents tend to leave out. Things like “How do I even start debugging?” or “How to not lose it if my program doesn’t compile or when nothing works anymore?”. I was fortunate to get taught these skills by friends and helpful colleagues but if you’re a remote-only learner and don’t have access to such people – this series is for you. In this first post, I’ll address the problem that you’re in a situation where your program does not work at all. In the case of LaTeX, this means it won’t compile. Other programming languages which are not compiled will just not run. So what do you do in that dire situation? Step 1: Take a deep breath Stay calm. I repeat, stay calm. Take a deep breath. It’s just

read more Learning to program: What to do if the program doesn’t compile

Understanding Scalability and Relative Values

What is the difference between 12pt and “format as heading“? Between 50px or 0.5\textwidth? Most of us know that we should always prefer relative to absolute values. But many who are new to webdesign or LaTeX don’t really get why. All of us who typeset papers and conference proceedings know that years of using MS Word does not necessarily teach you that difference either. This short post will try to remedy this in a quick and painless way 😉 In a WYSIWYG texteditor: Fontsize 12pt or “Format as Heading” In the case of a text editor, it is advisable to use the format templates rather than manually changing headings and so on for simple reasons: The information is stored as markup and if we tell the program what we want formatted as a heading, the machine gets semantic information about the text. Most people will understand that something is meant to be a heading when the font size is manually

read more Understanding Scalability and Relative Values

Algorithms, Variables, Debugging? Intro to Programming Concepts

Since I am about to prepare a workshop on natural language processing and a pre-workshop-workshop where I need to quickly/crashcourse introduce my (non-digital) Classicist friends to some basics on programming, let me share a list of programming concepts I compiled with you. I would be happy for your suggestions and comments regarding mistakes. I will probably publish this together with some key concepts of quantitative text analysis (blogpost to come) on a cheatsheet or as slides for you later 😉 Intro to key concepts of programming This list of concepts is not super-structured and meant to work as a ‘reference tool’ as well as a text to be read, so I tried to give it a more or less useful ‘chronology’, meaning that later parts kind of build on earlier ones. I start off with what a computer program or algorithm actually is and how we translate between source code (the code we write) and the code which gets fed

read more Algorithms, Variables, Debugging? Intro to Programming Concepts