A software book about The Fediverse
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 11 commits ahead, 1 commit behind master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
README.md
chapter_2.py
webfinger.sh

README.md

The Fediversity

Hello! If you're new here, maybe begin at the beginning?

Chapter 2: No Standard Left Behind

Inrajb was intrigued by the wealth of different data returned by the webfinger protocol. Webfinger itself, it seemed, was merely a discovery tool with which to ask "how can I communicate with this person?"

Yet, when Inrajb started fingering different inhabitants of the #Fediverse, he quickly realized that the answers to that question varied significantly.

For starters, the answer itself was provided in two different dialects; one based on XML and the other JSON. Both expressed the same things in more or less the exact same way, but the webfinger standard wisely mandates XML for the initial host-meta discovery and JSON (JRD) for the actual webfinger result.

Inrajb was very impressed by this clever use of standards. The authors of the webfinger specification had made sure both XML and JSON hackers would feel happy and wanted, allowing each group to take part in the fingering of everyone in the #Fediverse.

So he was a bit sad to discover that some tribes in the #Fediverse apparently didn't agree that we should all play nice and take turns fingering each-other. They had excluded the JSON people entirely and just used XML for everything!

Little did he know this was only the tip of the iceberg, when it comes to strife in the #Fediverse...

...

To get an overview of what the results themselves looked like, Inrajb updated his webfinger tool to cope with XML-formatted results and created a simple Python program to summarize what he learned from fingering himself and his 9 best friends.

The output looked something like this:

| People        | Protocols                                               |
| ------------- | ------------------------------------------------------- |
| AgNO3Kate     | http://ostatus.org/schema/1.0/subscribe                 |
| CNNNetwork    | http://schemas.google.com/g/2010#updates-from           |
| HerraBRE      | http://webfinger.net/rel/profile-page                   |
| alain         |                                                         |
| hubzilla      |                                                         |
| maiyannah     |                                                         |
| maloki        |                                                         |
| pettter       |                                                         |
| phoronix      |                                                         |
| securitybot   |                                                         |
| ------------- | ------------------------------------------------------- |
| AgNO3Kate     | magic-public-key                                        |
| CNNNetwork    |                                                         |
| HerraBRE      |                                                         |
| alain         |                                                         |
| hubzilla      |                                                         |
| maiyannah     |                                                         |
| maloki        |                                                         |
| pettter       |                                                         |
| securitybot   |                                                         |
| ------------- | ------------------------------------------------------- |
| AgNO3Kate     | salmon                                                  |
| CNNNetwork    |                                                         |
| HerraBRE      |                                                         |
| alain         |                                                         |
| maiyannah     |                                                         |
| maloki        |                                                         |
| pettter       |                                                         |
| phoronix      |                                                         |
| securitybot   |                                                         |
| ------------- | ------------------------------------------------------- |
| CNNNetwork    | self                                                    |
| HerraBRE      |                                                         |
| alain         |                                                         |
| maloki        |                                                         |
| ------------- | ------------------------------------------------------- |
| hubzilla      | diaspora-public-key                                     |
| pettter       | http://joindiaspora.com/guid                            |
| phoronix      |                                                         |
| ------------- | ------------------------------------------------------- |
| maiyannah     | describedby                                             |
| pettter       | http://apinamespace.org/atom                            |
|               | http://apinamespace.org/twitter                         |
|               | http://gmpg.org/xfn/11                                  |
|               | http://salmon-protocol.org/ns/salmon-mention            |
|               | http://salmon-protocol.org/ns/salmon-replies            |
|               | http://specs.openid.net/auth/2.0/provider               |
| ------------- | ------------------------------------------------------- |
| hubzilla      | http://joindiaspora.com/seed_location                   |
| phoronix      | http://microformats.org/profile/hcard                   |
| ------------- | ------------------------------------------------------- |
| hubzilla      | http://portablecontacts.net/spec/1.0                    |
|               | http://webfinger.net/rel/avatar                         |

Look at all those Standards! Inrajb was in awe.

What exactly is http://ostatus.org/schema/1.0/subscribe? Why does everyone like that, but only a few care for http://portablecontacts.net/spec/1.0?

It was a mystery that desperately needed solving.

...

(I'm sure you can't wait for chapter 3!)