ActivityPub: An Inbox is Not a Queue

It’s not unusual to see AP Fediverse posts discussing message queue middleware and message brokers and pondering whether using them is conformant with “inboxes” as defined in the ActivityPub Recommendation (AP). The answer is that conformance is not relevant because an inbox is not a queue. AP discusses an inbox from two perspectives: inbox endpoints … Read more

ActivityPub: A Box is not a Timeline

A key concept in the ActivityPub specification is the inbox and outbox. These are ordered collections of activities where the inbox contains activities received from other actors (typically on other servers) and the outbox contains activities produced by the actor owning the outbox. The inbox is part of the Server-to-Server (S2S) protocol that implements federation … Read more

ActivityPub Test Suite Redux

There’s recently been much discussion on the Fediverse about ActivityPub (AP) testing and associated test suites. The original ActivityPub test suite, originally hosted at, is frequently mentioned. The test suite hasn’t been running for years and it’s been difficult to find a maintainer because of the implementation programming language, Guile. Because of that situation, … Read more

Fediverse Account Migration

This article describes my findings about the current state of the art for Fediverse account migration at the time I wrote it. It does not cover all the issues of what Fediverse account migration should be. That’s a much bigger and more complex topic. However, many people are not clear about the current situation so … Read more

Decentralization in ActivityPub

The ActivityPub protocol is a decentralized social networking protocol … ActivityPub specification abstract The term, decentralized, is often used when discussing the virtues of the ActivityPub (AP) protocol. But what does that really mean? It seems that those involved in the discussions are typically thinking of decentralization in terms of computing resources. They also seem to … Read more

Nothing Implements ActivityPub

I’ve been experimenting with creating an ActivityPub test suite for two of the three conformance specification profiles in the ActivityPub (AP) specification: ActivityPub conformant Server (server-side of client-to-server specification) and ActivityPub conformant Federated Server (server-to-server). As I run this test suite on various servers it’s appearing to me that (probably) no server is compliant with … Read more

ActivityPub Ontology

I’ve created an unofficial version of an ActivityPub OWL ontology for experimentation and exploration purposes. It’s based on an old Activity Streams ontology that was abandoned in favor of JSON-LD in ActivityPub. I also created a separate ontology for Mastodon (toot) extensions. The ontology is represented in the RDF Turtle format. It can be viewed and browsed in tools like Protégé. You can find the … Read more

XP and Local Adaptation

XP Values, Principles and Practices Adapting Extreme Programming (XP) for your local environment can be risky and challenging. To do this correctly, you must remain aware of the XP values and principles to avoid trouble. I’ve seen recent discussions in various forums about the meaning of XP values and principles. Here are my current working … Read more

Agile Without a Name: Revisited

It’s been 11 years since I wrote about the notion of being “Agile” without a name. My feelings about the topic haven’t changed since then. I still believe it’s more important to be an effective software developer than one that has been labeled “agile” according to some specific agile methodology. The Agile Manifesto suggests valuing “Individuals and interactions over processes … Read more