This study first identifies and then codes the main frames in all reports about domestic protest in the United Kingdom.
IJPP, 2022

The main objective of this thesis is to contribute to a more systematic understanding of how mainstream news media in liberal democracies report about protests.

This article provides a detailed analysis of the roles and interactions between different types of media and how they were used by political and advocacy elites. It explores what happened in the different parts of the system, and thus the paths to attention that led to setting this issue in the political and media agendas. The analysis of the case, a partial policy reversal in the United Kingdom provoked by an immigration scandal known as the “Windrush scandal” reveals that the issue was pushed into the agenda by a campaign assemblage of investigative journalism, political and advocacy elites, and digitally enabled leaders. The legacy news media came late but were crucial..


The goal of traktok is to provide easy access to TikTok data

Your Friendly Solution to Managing Browser Cookies

The goal of atr is to wrap the AT Protocol (Authenticated Transfer Protocol) behind Bluesky. And we have actually already fulfilled this goal!

rwhatsapp is a small yet robust package that provides some infrastructure to work with WhatsApp text data in R. WhatsApp seems to become increasingly important not just as a messaging service but also as a social network—thanks to its group chat capabilities. This package is intended to make the first step of analysing WhatsApp text data as easy as possible: reading your chat history into R. This should work, no matter which device or locale you used to retrieve the txt or zip file containing your conversations.

You’re new to R? You don’t quite understand the code you copied from that tutorial? You get error messages that make no sense to you? Don’t worry, just askgpt!

The philosophy of paperboy is that the package is a comprehensive collection of webscraping scripts for news media sites. Many data scientists and researchers write their own code when they have to retrieve news media content from websites. At the end of research projects, this code is often collecting digital dust on researchers hard drives instead of being made public for others to employ. paperboy offers writers of webscraping scripts a clear path to publish their code and earn co-authorship on the package. For users, the promise is simple: paperboy delivers news media data from many websites in a consistent format.

My PhD supervisor once told me that everyone doing newspaper analysis starts by writing code to read in files from the “LexisNexis” newspaper archive. However, while I do recommend this exercise, not everyone has the time. This package provides functions to read in TXT, RTF, DOC and PDF files downloaded from the old “LexisNexis” or DOCX from the new Nexis Uni, Lexis Advance and similar services. The package also comes with a few other features that should be useful while working with data from the popular newspaper archive.

wallpapr is a little toy R package to make desktop and phone backgrounds using ggplot2. The design is inspired (aka copied one-to-one) by the beautiful calender wallpapers of Emma. You can check out her wallpapers at: With this package you can create your own calender wallpapers using an input image.

Curriculum Vitae

Download my academic CV.

Recent Posts

Also on R-Bloggers

More Posts

Bluesky is shaping up to be a nice, “billionaire-proof”1 replacement of what Twitter once was. One of the things the community was still missing, in my opinion, was the R-Bloggers bot that once spread the news about new R blog posts on ex-Twitter. Especially when first learning R, this was an important resource for me and I created my first package using a post from R-Bloggers. Since I have recently published the atrrr package with a few friends, I thought re-creating the bot that posted new entries was a good opportunity to promote that package and show how you can write a completely free bot with it.


Have you ever wanted to see your favourite social media posts in your command line? No? Me neither, but at least hrbrmstr has a few months ago. Or to be honest, I don’t know which social media site he prefers, but Bluesky is currently my favourite. With the ease of use and algorithmic curation that I loved about Twitter before its demise and the super interesting and easy to work with AT protocol, which should make Bluesky “billionaire-proof”1, I’m hopeful that this social network it here to stay.


I’m happy to announce that atrrr has made its way to CRAN. The purpose of atrrr is to communicate with the Authenticated transfer protocol (atproto for short), which powers the Twitter replacement social media site Bluesky. I think there are two things that are especially interesting about the package: it gives near limitless access to a social network site from R the backbone of the package was written mostly automatically The first point will make this interesting for teaching, as the well of interesting data that the Twitter research API once was has tried out, thanks to a certain billionaire.


I’m happy to announce that traktok, my package to get content from TikTok, has returned from the dead. That’s slightly exaggerated, because it actually always worked in some shape or form, but up until about September, the most recent state on Github had very limited functionality. Now I extended the package substantially and also gave it an appealing home on a pkgdown site here: The main issue I had before, namely that some requests to the unofficial TikTok API need to be signed, still remains unresolved.


I really like developing software and making my own life and work easier with it. But what I enjoy even more is to see others actually use it! So every now and then I look at CRAN download counts of my R packages. I’m not in any top-10 rankings or anything. But that was also never the point. I just like sharing my knowledge and see others use it!