Mike MacgirvinMike Macgirvin va escriure el següent entrada Sat, 08 Apr 2017 01:59:56 +0200
How to Federate the Social Web
So there are two web communication services and you want to federate them. Great. You're probably thinking "Let's just all use the same protocol." Easy.

You couldn't be further from the truth. Let me give you an example of what it takes and some of the things you need to consider and problems you *must* resolve to federate two different web communication systems.

We'll start with identity. Who are you communicating with? How do you find them? How do you connect with them? But let's step back to the top. What is an identity anyway?

Does the service use webfinger addresses?

Does it use URLs?

Can an identity be used on two different servers simultaneously?

Can an identity move? How?

Let's say it uses webfinger addresses. What characters are allowed in a username? What if these aren't all supported on your service? Or what if you allow more characters than are allowed on the other service? What do you do?

Are there length restrictions on the username? What are they? How do you resolve differences?

Does the service use "old webfinger" (host XRD) or "new webfinger" or something else?

Is everything you need to communicate with the person available in webfinger? (Highly unlikely.)

What other files or resource do you need to check to find all the information you need to communicate with them? How many of these resources do you need to check before you have enough information to continue?

Does the service allow http only or self-signed certs or any certs which are not "browser valid"? (This affects images and embedded content appearing in remote streams, as many browsers will either not display it or pop up a warning, or in some cases hundreds of warnings if your service is decentralised. It also affects whether you need to fall back to http if an https request fails, potentially doubling the number of lookup requests).

Does the service support privacy? What do you do if it doesn't and a member on your service tries to send a private message to them?

Does the service support private photos? How are these accessed? Are they fetched through an authenticated channel, or embedded? If they are embedded, what are the size restrictions on a message? Can the private photo fit in that size? Will it even be recognised? If authenticated, how do you authenticate exactly? Does this require a popup login box in the middle of your social stream? What if there are more than one of these in your stream? What if there are hundreds? What login do you use? Your own? Or some other login on a different system?

Does the system support private mail (DM)? Does this work from other services? What do you do if it doesn't?

Hashtags. Can they be one word or multiple words? If multiple, how does the service decide where the hashtag ends? Are there length restrictions? Character case restrictions? Character set restrictions? How do you resolve the differences? Are the hashtags linked on the outbound site or on the inbound site? (The latter tends to lead to large centralised servers because small sites are starved of hashtag content.)

Mentions. Same questions as hashtags. Can you mention a person with a webfinger address? What do you do if somebody in a private conversation mentions somebody not included in the conversation? Does this change the privacy?

What is the markup format used? Are there any hacks you need to add to this particular service to support their markup format?

What are the length limits of a post? (This was mentioned earlier w/r/t embedding photos, but now we're just talking about text.) How do you resolve differences in length limits? Are these discoverable? How exactly?

Is there a way to flag a post as adult or inappropriate?

Does the service provide groups/forums? How are these addressed? Can they be mentioned? How? Can they be private? How?

Does the service allow "wall-to-wall" posts? If not, are they able to recognise wall-to-wall posts created on another service or are the posts all incorrectly attributed to the same author?

Does the system support events? Are they timezone aware? Are these iCal enabled? If not, how do you convert iCal information so that it is not lost in federation?

Do they support emojis and/or emoticons? How are these designated? If emoticons are they converted on the sender or receiver side?

Can you retract a private mail message? How?

Can you retract a post? How?

Does the service support editing of posts? How?

Can you "expire" a post/comment? How?

Do comments to your posts require some service specific metadata such as signed XML fields in order for you to federate them to the other service? What if the comment author was on a system which does not federate with the other system and has no concept of requiring signed XML fields? What do you do?

Does the service support 'dislike'?

Does the service support likes of comments?

Tags in comments?

Mentions in comments? What happens to these?

Sub-comments? To what level? How do you collapse them if you service doesn't support the same number of levels?

Does the service support "apps"? What if it doesn't and the post only contains a single embedded app with no text? Do you send it?

Does the service provide a directory?

Can you request friendship/connection/follow from the profile page if non-authenticated? How?

Embedded content - what services are supported? Which are not supported? Can you embed a map? How? Is there a blacklist/whitelist? How do you know in advance if your embed will actually make it "intact" or not?


I came up with this list in under ten minutes based on real-world experience implementing federation between systems. I'm sure I could go for several more pages and still only scratch the surface of compatibility. So if you wish to provide service federation between two providers, these are all questions you need to ask and find answers for. "Just use Activitypub" or "Just use OStatus" isn't going to fix or answer any of these real-world examples.
#^Sikitikis - Metti un Tigre nel Doppio Brodo | Fuga dal Deserto del Tiki (album 2005)


Registrato in Casasonica da Condimix e Max Casacci, Torino (Primavera 2004) Mixato in Casasonica da Max Casacci, Torino (Estate 2004) Produzione Artistica: A...

Gran cover!
#^1968 Demo Interactive - Doug Engelbart Institute


A cool new way to experience the 1968 "Mother of All Demos" with the late Doug Engelbart and his incredible team. Test drive today.
Italorum Retiacula
...ah  ecco  il boomerang del famoso canguro della ricetta di Mike.
So, just to add more sugar to these days..

today it's my cakepastry-day!


serve yourself :-)
Jake Moomaw
Happy birthday!
Michael Meer
Have a nice party und a wonderful day with your beloved ones! shortcake fireworks
thank you! thank you!
#^How the BBC makes Planet Earth look like a Hollywood movie


The technology behind the cinematic style of the BBC's Planet Earth II. Check back next Monday for the next episode in this mini-series. Subscribe to our cha...
#^PixFix: How Bob Staake Creates His Art
In 1995, Bob Staake started creating his illustrations digitally using Adobe Photoshop 3.0. In 2008, he still exclusively uses the program -- with the help of a mouse, a 17" monitor, and a standard keyboard. These time lapse digital videos show the artist's illustration process...
#^Shut Up and Take My Money!


FinTechs increasingly cut the ground from under long-established banks’ feet. With a "Mobile First" strategy, many set their sights on br...

 FOSDEM 2017

Inicia: Dissabte Febrer 04, 2017 @ 8:00 AM
Acaba: Diumenge Febrer 05, 2017 @ 6:00 PM



FOSDEM is a free event for software developers to meet, share ideas and collaborate.

Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels.
Localització: #^ULB Campus Solbosch, Bruxelles
#^The Morlocks "My Friend The Bird"

Old School Garage-Punk-Rock for a Tarantino movie soundtrack
#^xkcd: Workflow


There are probably children out there holding down spacebar to stay warm in the winter! YOUR UPDATE MURDERS CHILDREN
today is #popcornday

So here are some popcorns

#^Gershon Kingsley - Pop Corn (1969)

Description -uploaded in HD at #^http://www.TunesToTube.com

#^Hot Butter - Popcorn - 1972
Hot Butter - Popcorn - 1972

#^Popcorn song goes metal
Become my patron!!! #^https://www.patreon.com/charlieparra Handsigned CD's and Live blurays (worldwide shipping) at #^http://charlieparradelriego.com/merch Charl...
Mario Vavti


A podcast for great talks by other people
#^Perpetually Talking Online
Read the full documentation on GitHub The latest release is available here If you find PTO useful, tell others about it! Perpetually Talking Online (PTO) is an IRC frontend to the federated Matrix network. It aims to enable as many people as possible to use an existing Matrix homeserver with their existing IRC clients, and provides a radically expa...
#^Still File


A series of 4 photographs recreating computer renderings as physical scenes.
Live streaming of "federated networks" session at #33C3 today

Today at 16:00 MET we will try to stream the federation session at the #33C3

#^#33C3 - The Federation


This talk will give a short introduction to "The Federation" of decentral social networks as alternatives to the big walled gardens. With a short historical ...
#^Furiosa’s Cat Feeder «  Blondihacks


“This will be great,” I thought to myself. “I’ll get one of those high-tech automated cat feeders!” Wait, I should back up a bit. You see, the four-legged tenant of Dunki Freehold, who goes by Sprocket H.G. Shopcat, eats twice a day. She gets delicious healthy wet food in the morning, and less-good-for-her but nice-for-lazy-human dry food...

Mike Macgirvin
Thinking about what it might take to provide a similar solution for a horse. You'd need a lot of steel, buried in concrete.
Mario Vavti
I am sure a smart cat can hack this beast within an hour to throw food nonstop cat face
#^Worlds first 32 bit Homebrew CPU


There is a major CPU that is missing from the world. A 32 bit homebrew CPU that implements a full and modern instruction set. The solution is to use 74' series logic chips and the RISC-V open source instruction set architecture. With a GNU toolchain already created for RISC-V it means we already have an assembler and compiler ready and waiting for our machine. So lets get rocking and create the ultimate in homebrew projects.
Matteo darkflash
#^David Newbury on Twitter


“Going through old papers my dad gave me, I found his map of the internet as of May 1973.

The entire internet.”