The verb "to ninja" means "to act or move like a ninja, particularly with regard to a combination of speed, power, and stealth." LaTeX adventures, demystifying digital tools for Humanists, one tutorial at a time.
For the last two years, I had the responsibility to mentor master’s degree students in the Digital Humanities or to advise those interested in a DH degree. Today I wanted to discuss the most frequently asked question and that is: “Am I ‘techie’ enough for (a) Digital Humanities (degree)?” and partly also “How much math is there in a DH degree?”. This is my Christmas present to you. I’m hoping to do something LaTeX-related again soon but LaTeX templates are currently a go-to relax thing for times when I really need relaxing. And feeling obliged to write about that takes the fun out of it for me at the moment, so sorry, yet another DH post for now. Let’s get straight to it. Part of this post consists of the text of an informational video I made in my responsibility as a mentor for the DH degree programm in Graz. You can watch the video instead, if you like. However,
To my great surprise, lots of people regularly ask me where I learned to program. I have lots of posts on the subject and even multiple categories on the blog concerning the topic but maybe they’re “too disguised” under obscure titles for willing learners to actually find them. So I decided to give you a short summary with the key takeaways of what I’ve written on the topic so far and the most important links – boths to my other detailled blogposts and also on the resoures I would recommend as of now. However, before the “short summary” of takeaways and suggestions for willing learners, let me start with a deep dive into the very personal side of the question “Where did you actually learn to program?”. Now where did I actually learn to code? A Disclaimer To answer the question “Where did I actually learn to program?”, we need to talk about my journey first. And.. Well, in order
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
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
Your digital project is great, I’m sure of that – but does it even exist if nobody knows about it? Science communication is the answer to avoid this philosophical dilemma. In this short post, I wanted to share a list of quick-and-easy-to-implement ideas to add some science communication to your projects. This is just a short post to give you some ideas, not tutorials on how to do it. However, I am open to any tutorial requests you might have on the topics involved. As for the Twitter bot, there is a short post available already. So let’s get to it! Quick and easy strategies to #scicomm your DH project Create a better / thematic / facetted search interface. Maybe people aren’t using your data because the interface is not intuitive and they can’t find things or don’t know what to look for and where to look. This is the basic building block to build all the following things on.
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
Today I want to give you a quick update on what I’ve been doing – maybe a little bit as an excuse for why you haven’t been getting the usual amount of content from me. Apart from having lots of work to do, I did two talks at the (all-online) TeXUsersGroup Annual Meeting #TUG2020. And, of course, the two proceedings papers to go with it, appearing in the next issue of TUGboat. Stay tuned for that and consider joining your local TeX users group if you aren’t a member already! A Ninja and Noob revival Together with our friend the noob, we did a talk as a follow up to the initial guest post and our TUGboat contribution. It was about how folkx from the Humanities and non-technical backgrounds can be motivated and empowered into becoming part of the #TeXLaTeX community. A talk on didactical reduction versus references In one of my first covid lockdown blogposts, I mentioned that I
I’ll write a summary about my experiences at this weekend’s TeXUsersGroup conference (#TUG2020) soon but today I wanted to share this post I had already prepared and scheduled: about ways to accelerate mastering a programming language. Of course, I can’t guarantee this will work for you and ‘fast’ is always relative. You can do a fast 3-day-binge but not really have mastered the language (obviously). Fast in terms of actual programming language mastery could mean a year or two, depending on your previous knowledge with programming. But enough of the disclaimers, let’s get to it! Learn as you go My first tip is to learn as you go, that means on the one hand that you jump into it without expecting from yourself to acquire all possible theoretical knowledge first. This ensures you get practice fast. It will let you use the language rightaway and only learn things you’ll actually use. That’s how I suggest you start using Linux by
Dear friends, today I want to illustrate some trans-disciplinary crossovers (into the DH) gone wrong. In earlier posts, I have already explained some of the dos (Looking at data with the eyes of a Humanist: How to apply digital skills to your Humanities research questions and Formulating Research Questions For Using DH Methods and What are ‘real’ Digital Humanities and how to get started?), so I assume I have you covered in that area. This is all very happy and positive – but I think I also owe it to you guys to give you an honest opinion of where you probably fucked up. It always hurts to learn these things and it’s more butterflies and rainbow-sprinkles to list all the empowering things you can do. But there are some traps as well and we don’t want you to fall into them. And if you already have, at least now you’ll have the closure to understand why you maybe have gotten rejected
Today I wanted to talk about a common question I come across: Does LaTeX count as programming? Many people dismiss this question directly with a no. But I say the answer is not that simple and depending on how you practice LaTeX can definitely be ‘yes’ much more than you might think! Also, something I really don’t appreciate is people meaning to degrade LaTeX when saying using LaTeX has nothing to do with programming (because it does and most people who think that way have just never seen LaTeX being used more like programming). LaTeX is, strictly speaking, a programming language and Turing-complete. Or rather, LaTeX is a macro package for TeX which is the actual Turing complete programming language. The typesetting-specific tools LaTeX provides probably can’t, however, be considered a full programming language on their own anymore. You could theoretically do anything with it, though it might just not be the easiest possible way to accomplish your ends (unless
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
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
A few weeks ago, I posted The Computational Humanities and Toxic Masculinity? A (long) reflection and didn’t know what reaction to expect. It would either be a shitstorm or get ignored, I assumed. It turns out, however, that the timing might have been just right, since I was contacted by the (informal) Turing Institute reading group – they wanted to discuss my blog post. I was honoured that they did and that I could participate. Here I wanted to share some new insights and reflection prompts this discussion has sparked for me. First things first: Thanks for everyone who participated! First of all, I was happy this discussion happened at all. That’s exactly the type of thing I had aimed for with the post, yet I was pretty surprised it actually happened. After all, you normally don’t always get you want. Maybe it’s that help will always be given at Hogwarts to those who ask for it. 😉 So anyway,
Like hinted in various Noob posts, our friend the LaTeX Noob once asked for help typesetting her archaeological catalogue using LaTeX. As it sadly happens to me quite often, I totally forgot about this and was reminded by a recent inquiry (don’t be afraid to ask if I forget to post something I once promised!). In this post, I wanted to share the reaons why you should use LaTeX to typeset an image-heavy catalogue and what to take into account when deciding how to implement it in LaTeX. General PhD typesetting advice One PhD thesis = 2 outputs In the post on LaTeX for PhDs, I have already laid out the most common and some more commonly overlooked advice on why you should use LaTeX for typesetting your PhD thesis. An important aspect is that your thesis will likely generate two outpts, the thesis and a book (hopefully). If you “hard-code” everything now, the transition won’t be as smooth as