Sign in

Johannes B. Gruber

@jbgruber.bsky.social
1.5K followers 1K following 511 posts

Senior Researcher @gesis.org // Data Editor @polcommjournal.bsky.social 🔎 political communication (#polsky + #commsky) with text analysis and #rstats (#opendata + #openscience) 🌏 JohannesBGruber.eu 👨‍💻 research software github.com/JBGruber

PostsRepliesMedia
Johannes B. Gruber @jbgruber.bsky.social · 09/10/2026
Works like a charm!
010
Johannes B. Gruber @jbgruber.bsky.social · 09/10/2026
If `coffee = productivity` I was extremly productive during my time at QUT in Brisbane.
040
Johannes B. Gruber @jbgruber.bsky.social · 08/10/2026
Dear publishers: just give me the damn pdf, I don't care about your stupid reader
"Reader Environment Loading..." message in a browser window
3200
Reposted by Johannes B. Gruber
Christina Viehmann @christinaviehmann.bsky.social · 24/09/2026
🔍 How robust are findings based on topic modeling? Our 🏆 Top Faculty Award article on #TopicModeling + #MultiverseAnalysis is now #openaccess in Communication Methods & Measures. 📄 doi.org/10.1080/19312458.2026.2714769 🔁 gesistsa.github.io/multiverse_tm/ wonderful teamwork @gesis.org 👇
doi.org
Beyond beyond standardization: studying robustness of empirical claims based on topic modeling through multiverse analysis
While topic modeling is widely used, some scholars have already announced that the application of topic modeling in social science research is impossible to standardize. Meanwhile, researchers have...
1268
Johannes B. Gruber @jbgruber.bsky.social · 23/09/2026
Alright, let's give this paper a final read before resubmitting it 🤗
View of a laptop with text with the Brisbane City Botanic Gardens in the background.
040
Johannes B. Gruber @jbgruber.bsky.social · 23/09/2026
FYI, here is the course material, Session 6 is now 25% just summarizing the article 😅 jbgruber.github.io/ess-web-scra...
jbgruber.github.io
Introduction to Web Scraping and Data Management for Social Scientists
010
Johannes B. Gruber @jbgruber.bsky.social · 23/09/2026
Shoutout to @m-dot-brown.bsky.social, @orangechair.org , Gabe Maldoff, @solmg.bsky.social, @zevesanderson.com, & @michaelzimmer.bsky.social for this excellent work. I used it to completely revamp the implications section in my web scraping course and I find myself citing it.
journals.sagepub.com
Sage Journals: Discover world-class research
Subscription and open access journals from Sage, the world's leading independent academic publisher.
130
Johannes B. Gruber @jbgruber.bsky.social · 21/09/2026
I needed to come to Brisbane to see people being good at riding e-scooters. I wasn't even aware such a thing existed. But quite often I see people in groups casually doing a wheelie here. And just now, someone drifted around a corner at full speed on a lime. Pretty wild.
010
Reposted by Johannes B. Gruber
GESIS - Leibniz-Institut für Sozialwissenschaften @gesis.org · 14/09/2026
Many people misjudge how many migrants actually live in their community and how well they are integrated. Berbée, Brinkmann, Gallegos Torres, Lange, Naumann, Sommerfeld, Perceptions of migration and integration in Germany: The role of regional context and migrants’ origin, doi.org/10.1093/pnas...
045
Johannes B. Gruber @jbgruber.bsky.social · 09/09/2026
New #rstats 📦: mediacloud2 (happy about name recommendations). Since the exitsting R packages were stale and I needed data, I wrote a new package. MediaCloud is an amazing resource for getting news media data, especially if you rehydrate the articles (e.g., through paperboy).
jbgruber.github.io
MediaCloud API (v4) Wrapper
A simple wrapper for version 4 of the MediaCloud API, which provides programmatic access to the MediaCloud archive of online news content (<https://www.mediacloud.org>).
0218
Johannes B. Gruber @jbgruber.bsky.social · 09/09/2026
To prepare for this talk, I created an entire R package (with an actual purpose) from scratch in less than 8 hours (would have been less without the meetings in between). Let's see how it does while I'm using it for work today.
jbgruber.github.io
MediaCloud API (v4) Wrapper
A simple wrapper for version 4 of the MediaCloud API, which provides programmatic access to the MediaCloud archive of online news content (<https://www.mediacloud.org>).
011
Reposted by Johannes B. Gruber
MZES Social Science Data Lab @mzes-ssdl.bsky.social · 08/09/2026
▶️ Social Science Data Lab: Fall 2026 Events Four input talks by great researchers (see below ⤵️)! 🗓️ Details & Zoom: socialsciencedatalab.mzes.uni-mannheim.de/page/events/ 👥 Organizers: @rubac.bsky.social, @denis-cohen.bsky.social, Nadia Granato and Alexander Wenz
Upcoming
2026-12-02 | Workshop | Johannes B. Gruber (GESIS – Leibniz-Institut für Sozialwissenschaften)
Vibe, Check: Authoring R Packages for Open Science in 2026 with usethis, devtools, and Coding Agents
more

2026-11-04 | Input talk | Anne-Kahtrin Stroppe (University of Greifswald)
Measuring Infrastructural Deprivation from Big Geodata: On the Inferential Validity of OpenStreetMap Proxies
more

2026-10-14 | Input talk | Valentyn Melnychuk (LMU Munich)
Causal ML for treatment effect estimation
more

2026-09-16 | Input talk | Marc Ratkovic (University of Mannheim)
Harnessing GPT for Enhanced Academic Writing: Evidence from a Field Experiment with Early-Career Researchers in the Social Sciences
more
264
Johannes B. Gruber @jbgruber.bsky.social · 02/09/2026
This with Max+ 395 - 128GB shared memory. It's unfortunately a lot more expensive now. And it is also slower than an NVIDIA GPU, but I can use 105GB of the RAM with the GPU, which let's me play with bigger models 😀
frame.work
Order a Framework Desktop with AMD Ryzen™ AI Max
Framework Desktop: A simple, quiet, mini PC with performance far beyond its size, powered by a highly-integrated processor from AMD.
110
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
Right after my last post I see this. Absolutely. I also hate how AI is shoved in my face constantly. There are a few tasks at which it is great, and a million where I don't need or want AI and I especially hate that everything is called Gemini or Copilot now.
061
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
What changed recently is that small models are no longer meant to 'know' things, instead became good at *doing* things. For example, the model I used probably wouldn't get it right when I asked it about a niche topic. But it can search the internet and find out what it doesn't know now..
010
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
The hardware I used cost me about 2000€. If you spend more, it will also generate the code faster.
210
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
Qwen wrote several wrong solutions before it ended up getting it right. In the process, it discovered a bug in the package. Overall, I think if you need speed, Claude is still king. But local AI is winning in a lot of other aspects: no subscription costs, privacy, nobody can take it away.
110
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
What this ran is a task defined in a lot of detail and with tests built in. This is what I consider the sweet spot for AI coding because I can verify if things actually work and I have a very clear idea how the code is supposed to look.
github.com
110
Johannes B. Gruber @jbgruber.bsky.social · 01/09/2026
Qwen3.8 27B comes extremely close to Claude in programming tasks. It's been said, but I wanted to share a test I ran in #rstats for {paperboy} 📦. TLDR: Qwen in opencode got it done in 28 mins, Claude Code ( Opus 5) got it done in 3.5. Results differ a little, but both are perfect solutions.
1165
Johannes B. Gruber @jbgruber.bsky.social · 26/08/2026
Absolutely. This makes it easier to parse and validate the answers. It doesn't improve accuracy and does not mean the model 'understands' your categories.
000
Johannes B. Gruber @jbgruber.bsky.social · 24/08/2026
Full news:
rollama 0.3.1

    query() can now batch annotate several images with the same prompt by passing images as a list (one element per query)
    updated image annotation vignette to explain batch annotation
    create_model() gains renderer and parser params
    query()/chat() output = "data.frame"/"list" now include thinking and tool_calls from the response
    think argument in query()/chat() now accepts "high"/"medium"/"low"/"max" in addition to TRUE/FALSE
    fixes issue in tests
    bug fixes
000
Johannes B. Gruber @jbgruber.bsky.social · 24/08/2026
rollama 0.3.1 just hit CRAN! 🥳 Highlight of the new version is that it now supports batch annotation of images with structured outputs. Screenshot from the updated vignette below:
Annotating Several Images with Structured Output

You can combine this setup with the structured output workflow to get a systematic classification of images. First, define the schema for the fields you want back for each image:

```r
animal_schema <- create_schema(
  dog = type_boolean(),
  cat = type_boolean(),
  human = type_boolean(),
  bird = type_boolean()
)
animal_schema
#> <rollama structured output schema>
#> ├─object: <NULL> (required)
#> └─properties
#>   ├─boolean: <dog>  (required)
#>   ├─boolean: <cat>  (required)
#>   ├─boolean: <human>  (required)
#>   └─boolean: <bird>  (required)
``
184
Johannes B. Gruber @jbgruber.bsky.social · 19/08/2026
Had a fantastic warm welcome at @qutdmrc.bsky.social where I'll be spending the next 8 weeks working on CSS and data donation topics with @antmandan.bsky.social and meeting fantastic new people every day so far 🤗
2131
Reposted by Johannes B. Gruber
Aleksandra Urman @aurman21.bsky.social · 12/08/2026
Thanks @adfichter.eurosky.social :) And it was exciting and refreshing to write in a non-academic genre for once! Glad I had the opportunity!
0103
Reposted by Johannes B. Gruber
Katrin Weller @kwelle.bsky.social · 04/08/2026
*JOB* My group at @gesis.org has an open position: we are looking for a candidate to support the expansion of our Trusted Research Environment for providing access to sensitive research data: gesis.jobs.personio.de/job/2707934?...
gesis.jobs.personio.de
Research Infrastructure Specialist (Postdoc) for Trusted Research Environments (DSS-26) | Jobs at GESIS – Leibniz-Institut für Sozialwissenschaften
GESIS is one of the world's leading social science infrastructure facilities, supporting researchers at all levels of their research projects with expertise and infrastructure services. We help ensure...
12226
Reposted by Johannes B. Gruber
Katrin Weller @kwelle.bsky.social · 28/07/2026
While we are still waiting for the final funding decision (which will be made by the BMFTR) for RIDLOP, we are delighted to see the Wissenschaftsrat's report that was published yesterday. So keeping our fingers crossed for the last steps in the evaluation process!
2163
Johannes B. Gruber @jbgruber.bsky.social · 27/07/2026
There is some hype in the world of AI this month and it's about open weight models 😮 Today, Kimi-K3 will be published and on paper, it's head to head with the biggest commercial models. You can't run it (unless you happen to have a supercomputer), but still exciting that you can download it!
huggingface.co
moonshotai/Kimi-K3 · Upcoming release · Hugging Face
The latest model from Moonshot AI.
040
Reposted by Johannes B. Gruber
GESIS - Leibniz-Institut für Sozialwissenschaften @gesis.org · 27/07/2026
#RIDLOP #Wissenschaftsrat #ResearchInfrastructure The German Science and Humanities Council (Wissenschaftsrat) supports the implementation of RIDLOP, the Research Infrastructure for Data from Large Online Platforms, in its statement published today.
1187
Johannes B. Gruber @jbgruber.bsky.social · 15/07/2026
I guess I should have read the note before posting 🫠
https://doi.org/10.31235/osf.io/86zqa_v1

DOIs are minted by a third party, and may take up to 24 hours to be registered.
040
Johannes B. Gruber @jbgruber.bsky.social · 15/07/2026
Hmm, I double-checked, that's the one OSF shows me. Maybe they didn't register the DOI properly yet? Sorry, here is the OSF link osf.io/preprints/so...
osf.io
OSF
140
Johannes B. Gruber @jbgruber.bsky.social · 15/07/2026
New preprint: my contribution for @marhai.bsky.social and @emesedomahidi.bsky.social 's The Handbook of Computational Communication Research discusses the transition of the field from bag-of-words to word embeddings to transformer based contextualized embeddings. doi.org/10.31235/osf...
2122
Johannes B. Gruber @jbgruber.bsky.social · 06/07/2026
If you have any questions about this job, let me know! It is a great opportunity and very important work!
043
Reposted by Johannes B. Gruber
Daniel Thiele @thieled.bsky.social · 03/07/2026
Thanks @christinaviehmann.bsky.social, @jbgruber.bsky.social and @gesis.org for the invitation! I had an absolutely fantastic time with many inspiring conversations and new connections with excellent researchers. Thanks for treating me so well, Cologne! #CSS #DSS
0111
Johannes B. Gruber @jbgruber.bsky.social · 26/06/2026
Finally back home again, sleeping between my loved ones: my wife, our dog, and our Midea Portasplit 12000 BTU 3.5kW air conditioner 💗
010
Johannes B. Gruber @jbgruber.bsky.social · 24/06/2026
So so much 🥲 This weather at 18°C is my perfect summer
110
Johannes B. Gruber @jbgruber.bsky.social · 24/06/2026
3 conferences in the last 3 weeks done! Was ist too much? Maybe, I'm definitely exhausted. But it was great to see so many colleagues doing new and interesting research, and I feel updated about what's happening in #commsky, data archiving, and #polsky
140
Johannes B. Gruber @jbgruber.bsky.social · 24/06/2026
I read an article in a German newspaper yesterday that passionately argued for age restricting social media. Just a reminder that this is a very stupid idea. pluralistic.net/2026/06/23/d...
pluralistic.net
Pluralistic: Spying on kids to save kids from spying is very, very stupid (23 Jun 2026) – Pluralistic: Daily links from Cory Doctorow
011
Reposted by Johannes B. Gruber
GESIS - Leibniz-Institut für Sozialwissenschaften @gesis.org · 22/06/2026
#pride26 #pridemonth This Pride Month we want to highlight two very different publications: a practical guide on how to account for gender diversity in evaluation, and a cartoon on what diversity looks like in everyday life. 🔗doi.org/10.31244/zfe... 🎨pushbacklash.eu/wp-c...
0103
Reposted by Johannes B. Gruber
Katrin Weller @kwelle.bsky.social · 19/06/2026
#cessda50 was such a great event - and lots of fun being there with my amazing colleagues. Thanks to @cessda.bsky.social for bringing the community together
181
Reposted by Johannes B. Gruber
EPSS @epssnet.bsky.social · 19/06/2026
About to begin-💡 EPSS Showcase: Using AI in Political Science Research virtual.oxfordabstracts.com/event/75765/... 15:20-17:00 | Lagan (ICC), with @kenbenoit.bsky.social, @mdigiuseppe.bsky.social, @jbgruber.bsky.social, Allison Wun-hui Koh, Simon Luck and Leonce Röth
virtual.oxfordabstracts.com
OA Virtual conferences
041
Johannes B. Gruber @jbgruber.bsky.social · 18/06/2026
Photo evidence by @aytalina.bsky.social 😃
082
Reposted by Johannes B. Gruber
Katrin Weller @kwelle.bsky.social · 17/06/2026
Happy Birthday to @cessda.bsky.social ! Looking forward to an exiting conference progam here in Bergen, Norway.
072
Johannes B. Gruber @jbgruber.bsky.social · 13/06/2026
Einen Monat später immer noch nicht gefixt...
000
Reposted by Johannes B. Gruber
Johannes B. Gruber @jbgruber.bsky.social · 05/05/2026
@gruene.de ihr habt da irgendwas komisch eingestellt. Wenn man auf bsky.app/profile/grue... geht, kommt man zu @felixbanaszak.bsky.social . Oder soll das so?
bsky.app
101
Johannes B. Gruber @jbgruber.bsky.social · 08/06/2026
You now also have full control what shows up in link previews and alternative PDS like #eurosky are supported!
030
Johannes B. Gruber @jbgruber.bsky.social · 08/06/2026
Biggest new feature is the ability to stream from the firehose
Documentation for the stream_firehose function
110
Johannes B. Gruber @jbgruber.bsky.social · 08/06/2026
Announcing #rstats {atrrr} 0.2.0 is on CRAN now! 🥳
170
Johannes B. Gruber @jbgruber.bsky.social · 08/06/2026
Posting live from stage at #ica26 where I present our #rstats 🎁 {atrrr} which can interact with 🦋
0123
Reposted by Johannes B. Gruber
Jakob Ohme @dscheykopp.bsky.social · 06/06/2026
Hi #ica26. We have an open 4.5 yr Postdoc position @weizenbauminstitut.bsky.social Berlin in PolComm/Comp Social Scienes on opinion dynamics in climate topics. Hit me up if you want a to talk about it in CT or send to colleagues who might be interested. www.weizenbaum-institut.de/news/detail/...
01916