
Jeg faldt over et lille Rust-baseret CLI-tool lavet af Simon Willison — en af de mest produktive open source-udviklere jeg følger. Toolet genererer word clouds fra ren tekst, og med ~46.000 ord fra 67 blogindlæg på vittrup-graversen.dk lå opgaven ligefor: Hvad er egentlig bloggens DNA? Hvad handler den her blog virkelig om?
Svaret, som du kan se ovenfor, er ikke overraskende — men det er alligevel lidt sjovt at se det sort på hvidt (eller rettere: farverigt på mørk baggrund): “claude” dominerer med 420 forekomster. Efterfulgt af “agent” (227x), “code” (220x), “agenter” (155x) og “anthropic” (129x). En AI-blog, der skriver om AI og AI-agenter, har altså AI i blodet. Who would have thought😄
Fra kildekode til word cloud WordPress i tre trin
Første skridt var at bygge toolet. Simon Willisons repo er et Rust-workspace, så det er bare:
git clone https://github.com/simonw/research
cd research/rust-wordcloud
cargo build --release
Det tager et par minutter, men så har man en lynhurtig wordcloud-binary. Næste skridt: Hent al tekst fra bloggen. Det er nemt med WordPress REST API — et lille Python-script paginerer sig igennem alle posts og samler content.rendered i en stor tekstfil:
import requests, re, html
posts, page = [], 1
while True:
r = requests.get(f"https://vittrup-graversen.dk/wp-json/wp/v2/posts",
params={"per_page": 100, "page": page, "_fields": "content"})
if r.status_code != 200 or not r.json():
break
for p in r.json():
text = re.sub(r'<[^>]+>', ' ', p['content']['rendered'])
posts.append(html.unescape(text))
page += 1
with open("blog-text.txt", "w") as f:
f.write("
".join(posts))
67 posts, ~46.000 ord. Fint.
Problemet med danske stopord — og løsningen
Her kom første forhindring. Simon Willisons tool filtrerer automatisk engelske stopord (“the”, “and”, “is” osv.), men den ved intet om dansk. Første forsøg gav mig et word cloud domineret af “det”, “til”, “på”, “med”, “er”, “som” — altså det rene grammatiske støj.
Løsningen er enkel: Et Python-script der fjerner danske stopord inden teksten sendes til wordcloud-toolet. Jeg brugte nltk‘s danske stopordsliste (plus et par ekstra som “også”, “bare”, “meget”):
import nltk
from nltk.corpus import stopwords
nltk.download('stopwords', quiet=True)
da_stops = set(stopwords.words('danish'))
da_stops.update(['også', 'bare', 'meget', 'når', 'hvor', 'hvad', 'kan'])
with open("blog-text.txt") as f:
words = f.read().lower().split()
filtered = [w for w in words if w.isalpha() and w not in da_stops and len(w) >= 3]
with open("blog-text-filtered.txt", "w") as f:
f.write(" ".join(filtered))
Derefter er det bare at køre wordcloud-toolet med lidt parametre til bredde, farver og antal ord:
wordcloud blog-text-filtered.txt -o blog-wordcloud.png --width 1600 --height 1000 --max-words 150 --colors vibrant --min-word-len 3
Under 2 sekunder. Rust er ret hurtig, for nu at sige det mildt.
Hvad afslørte word cloud WordPress-analysen?
Resultatet er det billede du ser øverst. Og det er jo lidt meta: Jeg bruger Claude Code til at drive min blog om Claude Code og AI-agenter, og så genererer jeg et word cloud WordPress-analyse der viser… at jeg primært skriver om Claude, agenter og AI. Cirklen er komplet.
De øvrige topord er heller ikke overraskende: “model”, “data”, “system”, “tools”, “workflow”, “automation”. Det er en teknisk blog om agentic engineering, og det er præcis hvad ordene afspejler. Men det er alligevel sjovt at få det visualiseret — det giver et hurtigt, intuitivt overblik over temaerne, som man ikke helt får ved at læse indholdsfortegnelsen.
Hvis du vil lave det samme for din blog, er det overraskende enkelt. WordPress REST API er åbent for læsning på de fleste installationer, og Simon Willisons tool er frit tilgængeligt på GitHub. Eneste “trick” er stopords-filtreringen, hvis du skriver på dansk (eller et andet ikke-engelsk sprog).
Det minder lidt om den pointe Max Woolf nævner i sin artikel om AI agent coding — at AI-tools i stigende grad er bedst, når du forstår hvad de gør under motorhjelmen. At bruge rust-wordcloud kræver ikke at du kan Rust, men du skal stadig forstå stopords-problemet og løse det selv. AI hjælper; du tænker.
Vil du se mere om hvad Claude Code faktisk kan som coding-assistent, har jeg skrevet om det i Claude Code husker nu dine rettelser og præferencer automatisk og Anthropic gør Claude til enterprise-infrastruktur.
Denne artikel er skrevet i samarbejde med AI, og efterfølgende redigeret af et rigtigt menneske 🙂