Oddbean new post about | logout

Notes by silverpill | export

 How many domain names your government needs to block in order to censor an entire network?

Bluesky: 1 domain name
Nostr: 680 domain names, but blocking 10 most popular relays and hosted clients would probably be enough to kill it
Fediverse: more than 20000 domain names

#Fediverse #Censorship 
 can-i-use but for #SQL: https://modern-sql.com/caniuse/merge

Very cool 
 #Mitra v2.13.0

https://codeberg.org/silverpill/mitra/releases/tag/v2.13.0
https://codeberg.org/silverpill/mitra-web/releases/tag/v2.13.0

- Notifications about emoji reactions.
- Public posts can be exported in FEP-ef61 format (exported objects are not very useful at the moment, but it's a first step towards data portability) 
 A quick one (hopefully) this evening...
Whenever I have a post with a mention, Mastodon likes to ... 
 @dcf0b831 mention links should have u-url class (and maybe mention too), and they should be wrapped into <span class="h-card"> element.

hashtags should have rel=tag attribute 
 I suppose an issue would be interfacing between clearnet and darknet based hosts, I'd assume ther... 
 @26318dfd clearnet and darknet hosts can interact without a bridge. The clearnet host should be configured to send requests to .onion/.i2p hosts via Tor/I2P proxy, and darknet hosts usually don't need to do anything special, they just connect via exit nodes.

For example my instance can talk to both onion and i2p hosts. 
 #ActivityPub proxy by @tedu: https://flak.tedunangst.com/post/idkfa

Looks very interesting. This service rewrites activities, so in theory it can work as a bridge between disconnected parts of Fediverse, for example between two defederated servers, or between server-centered Fediverse and client-centered Fediverse, or between #Tor instances and clearnet instances. 
 @Anark Karabey I can add it. 
 @Anark Karabey I think the button could simply insert [[url]] into a new post.

Do you want it to notify the author about a quote (by default there's no notification, quote is just a link to another post).

Also note that quotes are not supported by Mastodon and Pleroma (although Pleroma may implement them soon). Users of these services will see a regular link without preview. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw thanks for letting me know.... 
 @Anark Karabey I can add it. 
 nostr:npub19j8hqy34pnznsrhzfaljt9jxc8hznhtstdtp4hd7z68znjd3k09qthwcd3 

There used to be one call... 
 @87883523 @2c8f7012 I've built an AP-based microblogging platform that has content subscriptions: https://codeberg.org/silverpill/mitra

Monero is supported. 
 Nomad returns delivery reports indicating the disposition of a message once it hits the server an... 
 @Mike Macgirvin (dev)

There was a discussion on error reporting on SocialHub forum: https://socialhub.activitypub.rocks/t/report-errors-in-server-processing/3006

I like the idea of using a special header to enable debug mode + generalized Accept/Reject activities for reporting.

@e2bc32de @4eef68c5  @bfa30f49 
 @81cbff92 Pleroma supports direct Note too (although it displays direct Notes and ChatMessages differently in the UI). I don't know about Misskey, but it is likely that their non-standard field is not important for interop. 
 @silverpill Something like FEP-8fcf in the opposite direction - if instance A sees that B "forgot... 
 @297ef8d1 Yes, this should be possible, but there's no proposal for such mechanism yet. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw so I think, in theory, I co... 
 @tedu As a first step, we can start accepting Ed25519 keys in addition to RSA keys. As far as I know, publicKey field can't be an array, and even if it can, many projects will fail to process an array there.

There's another proposal that describes a way out this situation: https://codeberg.org/fediverse/fep/src/branch/main/fep/521a/fep-521a.md

With a new property that can contain any kind of public key, implementations can start adding Ed25519 keys to actors. Once a sufficient portion of Fediverse supports EdDSA, projects can start using it for outgoing requests and activities 
 @silverpill If an instance loses its entire followers table (without sending Undo activities, so ... 
 @297ef8d1 Re-following is performed during account migration, it is triggered by Move activity (the process is described in FEP-7628). I guess if object and target of Move activity point to the same actor, it can be interpreted as "re-follow me" signal. However, if your followers table is lost, how would you know where to send this activity? 
 Good thing the nostr:npub14wcvptjll77sefq434kd5gfdshnjz6sy7rqh8l8lpcnd7t0af0tqr9mhvn universe isn... 
 @tedu FEP-8b32 recommends EdDSA integrity proofs as a replacement for outdated and non-standard RSA linked data signatures. This is a good way to introduce EdDSA into Fediverse, but so far there was not much interest from developers. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw how do I quote post a "retw... 
 @Anark Karabey

There's no retweet button, but you can use special [[url]] syntax to add a quote to your post:

For example:

[[https://mitra.karapara.net/objects/018aeaed-c9cc-a798-924d-111378bcefb8]]


Rendered as:

https://mitra.karapara.net/objects/018aeaed-c9cc-a798-924d-111378bcefb8

The URL of the post is available via post time stamp in the mitra UI.

nostr:note1245huzee3ewvsmhxas7zmnvsw79khu54mrf8lj5mc4f68z3p672sj5lrgf 
 @e8df75ff

>aligning incentives better than most projects

This aligns incentives in one particular domain: marketing. The project quickly turns into ponzi scheme because nobody is interested in actual tech, all you get is paid shills everywhere 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw This is awesome thank you. ... 
 @af7acbe6 By the way, MaidSafe, is it that company from early blockchain days? I thought the project was long dead, but recently it started to appear again in the media. What going on there? Some kind of reboot? 
 @af7acbe6 ActivityPub can use a transport protocol other than HTTPS (if you read the spec in a certain way). I wrote this document which describes self-authenticating activities:

https://codeberg.org/fediverse/fep/src/branch/main/fep/ae97/fep-ae97.md

I think it's a good stating point for p2p-ActivityPub. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw
Crap, hope it will be merge... 
 @NotMtth If you have a Codeberg account you can leave a comment there saying that you have the same problem. Same with Husky. Issues of this kind are difficult to debug from the server side. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw
I tried with fedilabs, that... 
 @NotMtth Fedilab doesn't work even without proxy, there's an open issue for Fedilab-Mitra compatibility: https://codeberg.org/tom79/Fedilab/issues/814. 
 What is really hilarious is switching to a new protocol when your problem can be solved with 192 lines of JavaScript.

https://gleasonator.com/objects/e7fa6079-7c22-435f-9990-331620b00d31

nostr:note1ld2z3ld4ucsmqfynpfcn6rznr27qvznjw63everwszpu2k3knmrsuusxsa 
 I've been writing #Rust for this many years now and today is the day I finally learned about Opti... 
 @3c745deb I recently discovered bool::then. A big place indeed. 
 @0ed7afc8 @djsumdog Vue (especially 3.x) tries to be close to vanilla JS, I'm actually enjoying using it.
Never understood why people use something like React where markup, styles and code are mixed together. Every React project I've seen looks like giant pile of spaghetti. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw nostr:npub1pznvqcf4g2la5h88... 
 @Anark Karabey @NotMtth Tor-only instances can only federate with clearnet instances connected to Tor network (like yours). When server receives an ActivityPub message, it must verify the signature, but if signer's public key is served by an onion service and the server is not connected to Tor, verification fails. 
 nostr:npub1pznvqcf4g2la5h88fedxe06u3vw2j7h2f692npjmhhzxk568lhhq3tp96z nostr:npub1df0nthpgzfmvxrzj... 
 @Anark Karabey @NotMtth He wants a Tor-only instance that can federate with the whole Fediverse, but it's not possible. Not possible without a bridge

No word from him since we discussed that. 
 Thanks to nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw for the invite.
L... 
 @NotMtth Welcome! 
 Movie Idea: a Jurrasic Park reboot where instead of a theme park it's a theme restaurant, and the... 
 @チャノさん Perhaps even better: they make 100% vegan lab-grown dinosaur meat, and then something goes terribly wrong. 
 The identity and all the locations are signed with the same key. 
 @9fca7979 The one indicated by the publicKey property of actor object? 
 Hey #fediverse and #ActivityPub devs: is anyone aware of any specs, proposals, or discussions reg... 
 @da8a5860

>different profiles for different activity types

Do you mean different ActivityPub actors?

In Lemmy there could be a user and a group with the same username on the same server. To distinguish between two actors they use properties object:

https://lemmy.ml/.well-known/webfinger?resource=acct:activitypub@lemmy.ml 
 paging nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw , did I interpret th... 
 @チャノさん Yes, but only at the backend. Public timeline is not supported by the mitra-web client yet. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw any example of a user from ... 
 SocialWeb working group had a meeting about the data portability:

https://www.w3.org/2023/09/13-social-minutes.html

FEP-c390 was discussed, among other things. 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw can I also start a thread o... 
 @Anark Karabey Yes, IIRC you need to put @monero at the bottom of the post.

The first line of your post will be used for title. 
 Test public post after another large refactor 
 @297ef8d1 Test reply. Thanks for fixing outbox, by the way 
 nostr:npub1df0nthpgzfmvxrzj0cfypmmt45l0y770j260auqhm3l45hp3uhkqx27gmw Not sure how useful this is... 
 @639ed14f I think machine-readable data can be added to markdown as YAML front matter. Or capabilities can be exposed via NodeInfo, some servers already do that. 
 FEP-67ff: FEDERATION.md

https://codeberg.org/fediverse/fep/src/branch/main/fep/67ff/fep-67ff.md

Yet another Fediverse Enhancement Proposal. FEDERATION.md file is used by some projects to document the federation protocol.

Here's the one I wrote for #Mitra: https://codeberg.org/silverpill/mitra/src/branch/main/FEDERATION.md 
 Ok how do you get HTTP signatures working for accepting follow requests?

#ActivityPub #AskFedi 
 @52d54c36 Fediverse servers use old draft of HTTP signature standard: https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures

And this might be useful for testing your implementation: https://codeberg.org/helge/fediverse-features/src/branch/main/fedi/http_signatures.feature 
 Just updated FEP-0837 draft ("Federated Markets"). The proposal objects are now allowed to have type other than Proposal, e.g. Note. This means servers can publish proposals that are compatible with Mastodon (which only accepts a limited number of types as "posts"). 
Event not found
 @376dfe7d I'm not particularly fond of IPFS either, but what are other options?

I think IPFS URIs can be useful even without IPFS node, as a more widespread alternative to urn:sha256 
Event not found
 @26318dfd Sure, you can find a list of active Tor instances here: http://demo.fedilist.com/instance?q=&ip=&software=&registrations=&onion=only 
Event not found
 @9fca7979 If actor is moved (copied) from A to B, how other servers should verify that A and B are controlled by the same person? 
Event not found
 @376dfe7d If reference to media file is did:apkey URL, it can be translated similarly to object IDs.

Instead of encoding content hash directly in the URL, one can specify it in the object that represents media attachment:

{
  "type": "Image",
  "mediaType": "image/jpeg",
  "href": "did:apkey:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK/media/1.jpg?hosts=server1.example,server2.example",
  "digestHex": "deadbeef"
}
 
Event not found
 @NotMtth I use only web interface, but I've tried Husky once and it (mostly) worked for me.

Could you describe the issue in more detail? Does it show any error message, or just a login screen? 
Event not found
 @Listens to Baroque while coding murder.exe :newt: 

Another funny Fediverse trend is cancelling projects in favor of "approved" forks

>Popular fediverse projects: Mastodon, Akkoma, Firefish. 
Event not found
 @53c578bc

>We're also working on an Activity extension spec for geotagging, so other projects can use this too\!

You don't need to. The location property and Place type are part of ActivityStreams:

https://www.w3.org/TR/activitystreams-vocabulary/#dfn-location

https://www.w3.org/TR/activitystreams-vocabulary/#dfn-place 
Event not found
 @Mauve 👁️ Yes, but the publication date seems to be in the future 
Event not found
 The deb package attached to 1.36.1 release contained a mitra binary with higher libc/libssl requirements, and it caused breakage on older systems.

I removed the 1.36.1 package and built a new one with statically linked binaries:

https://codeberg.org/silverpill/mitra/releases/tag/v1.36.2