cat /proc/claus

because blogs never go out of style!

DagRing

2025 July 26

Last week, I've created the DagRing, a webring for people who participated in the Dagstuhl Seminar "New Frontiers in AI for Game Design". I really like webrings, so let me talk a little bit about them, and how to set up one.

What is a WebRing?

Webrings were a kind of online community that was really common in the early Web (late 1990's but I don't know when it actually began). A group of websites (usually some fandom) would agree to form a webring, and each site would add a link to the next and the previous site on the ring, usually in a banner at the bottom of the site. Sometimes there was also a button to jump to a random page in the ring, or a directory page with all members of the ring.

Before search engines became good enough that everyone would just use them, webrings were a way to find websites and have your website be found, specially for the more niche groups and fandoms.

How do you make a WebRing?

The very minimum needed for make a webring is a small group of websites that agree to link with each other. So one person with a piece of paper and the organization skills could do it, and that was how many webrings were done.

However, you can use technology to help automating some tasks, such as: updating the links of each member; adding and removing members; keeping a member list; linking to a random webpage; etc. Technically speaking, an automated WebRing is little more than a series of http redirects.

When I suggested creating the DagRing, that was what I had in mind: making a script that automatically created the redirects in my server. However, before I had the stupid idea of starting yet another project that I would probably not complete, I had the bright idea to check if someone out there had already done the work.

Thanks to the internet deities, someone had indeed already done the work: RingFairy was everything I needed, in a very easy to set up package.

RingFairy is a Rust program that takes a list of webpages (as a .json file), and create a static page with the Webring Directory, and a pair of previous/next redirects for each member of the ring. It is very easy to use, well documented, and has some cool features, such as a simple crawler to let you know if any pages in the webring are down, or did not put up the webring links (useful for larger rings).

I never actually used rust before, but I did not need to. I just installed the "cargo" builder via apt, built the program with cargo build, and ran it with cargo run. The program generates the static site, and I just added it to my eleventy output directory.

RingFairy does not do everything for you: you still need to design the ring website, create a template for the ring links, and, of course, actually get people to join your webring :-P. As usual, the social part is the hardest, and most important one.

What is next?

Talking about social, I do have to write about Dagstuhl. I hope I can make a blogpost or three about that. Also I have been feeling like I want to add a guestbook to this website. I feel like more and more people around me are taking the web 1.0 revival as something actually cool and necessary. Maybe that will be next!

See you then, (and hopefully not in six months (dun, dun, duuun...))

Tagged: #eleventy, #webring, #dagstuhl,