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 activitypub.rocks, 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

Money:Tech Panel: Open Source and Finance

I recently had the opportunity to participate in a panel discussion at the O’Reilly Money:Tech conference. We discussed the extent that the financial technology community had embraced open source. Other members of the panel were Tim O’Reilly of O’Reilly Media, James Altucher who founded StockPickr, and Graham Miller of Marketcetera. I was representing free financial open-source software developers in … Read more

Global Game of Software Development

The global collaboration perspective on software development is a stark contrast to the preference for face-to-face communication during development activities.Steve Bate · February 10th, 20182 min read You should expect to see developers putting on headsets when they start up their development tools – to listen and respond to the voice over IP (VOIP) chatter from peers … Read more