@julian@activitypub.space cover

Co-Founder (NodeBB) | Husband 🤷‍♂️ and Dad 🙉 to three | Rock Climber 🧗‍♂️ | Foodie 🥙 | Conductor 🎵 | Saxophonist 🎷

✅ Small teams craft better code.
🇨🇦 Made in Canada
🗨️ Federating NodeBB with funding from NLNet ♥️🇪🇺

This profile is from a federated server and may be incomplete. View on remote instance

@gabboman@gabboman.xyz avatar gabboman , to random

This post has an initial version of reply control (using gts specification). If your software allows you, please do reply.

I wana show some stuff

julian ,
@julian@activitypub.space avatar

@gabboman you can't stop me from replying neener neener neener

@internetarchive@mastodon.archive.org avatar internetarchive , to random

The Winter continue! ⛷️

🏂 Celebrate gaming history by revisiting 1985’s "Winter Games" from our classic software collection ❄️

💾 is how we go for the Gold! 🥇

🕹️ Play it on your favorite vintage platform ⤵️
https://archive.org/search?query=winter+games&and%5B%5D=mediatype:%22software%22

video/mp4

julian ,
@julian@activitypub.space avatar

@internetarchive I vaguely remember a game like this from my childhood. I remember you could luge straight up the side of the track and off into the distance 😝

julian ,
@julian@activitypub.space avatar

@dopeywan_kenobi yeeeeeah that's the one! With the biathlon round where the crosshair was jiggling like mad!

@malte@radikal.social avatar malte , to random

These days I have seed and flavorful vegetables on my mind. I'm grateful to be part of an international community with that passion. One of the places on the internet I learn the most these days is a dedicated to that topic and I wish it could federate with Mastodon and similar networks, so the conversations could take place here too. Atm you need a 500$ business plan to integrate plugin.

https://goingtoseed.discourse.group

julian ,
@julian@activitypub.space avatar

@malte :scream: what!!

Hopefully our free ActivityPub plugin native integration will help change some minds :)

Thanks for sharing!

@apps@toot.fedilab.app avatar apps , to random

After shutting down , we're rethinking the approach with : users explicitly opt in by adding to their bio with interest tags, then submit their profile. No assumptions, no default settings.
This will power interest-based discovery across the , helping people find each other through shared interests. Still all through of course, with real-time deletions and updates.

julian ,
@julian@activitypub.space avatar

@apps honestly? You should ignore the haters and not make this opt in. You're crippling its usability that way...

julian ,
@julian@activitypub.space avatar

@apps that's exactly it. You're not responsible for others not understanding that when they post publicly, their post is public.

@nicolaottomano

julian ,
@julian@activitypub.space avatar

@tom completely fair. There is a user education opportunity here, and in an ideal world we'd have all have the time, energy, and patience to learn and grow together.

... but what I have seen and experienced is hair-trigger rage and an inability to even consider other possibilites, that I am now immediately on the defensive.

Thanks for reminding me that patience is still important :)

@apps @nicolaottomano

@breathOfLife@infosec.exchange avatar breathOfLife , to random

@dansup

are there any fediverse projects using more than one type of federation?

what are some good resources for implementing activitypub validly?
what languages should i learn?
what are good ways to test web application security on the cheap before deployment?
anything more i should be worried about?

i'm good at c, python and that's about it.

julian ,
@julian@activitypub.space avatar

@breathOfLife WAFRN by @gabboman uses both ActivityPub and ATProto

To image cache or not to image cache

I am the admin of the newly created instance https://indie-ver.se/, and it's been going great. But as I was looking to migrate all images to a S3 bucket, I noticed, the images take up more space than I had anticipated, a bit over 1 GB. And I know for a fact, that there has not been many images uploaded to this instance directly. ...

julian ,
@julian@activitypub.space avatar

As @ptz@dubvee.org avatar ptz said, just disable it. There's very little benefit and huge (financial) dowbside.

Yeah storage is cheap, but S3 cache costs are also like the #1 thing people hosting Mastodon complain about.

If you're privacy conscious and worry about IP leakage... then install a camo proxy. Done. That also solves the CORS issues.

@da_667@infosec.exchange avatar da_667 , to random

You have no fucking idea how good and how much of a value that 5 dollar costco rotisserie chicken is and it really shows.

julian ,
@julian@activitypub.space avatar

@da_667 rotisserie chicken?

You mean the smaller-than-average roasted bird that sells for less than the equivalent raw bird because it's secondary function is as a loss-leader product to get you in the store?

Literally cheap protein, unless you want to give up meat entirely.

@mpb@typent.net avatar mpb , to random

For now, the ActivityPub implementation for the fediverse is 100% complete. I'm not currently interested in ATProto, and what I find most interesting is the Nostr protocol, for which I've already built a relay server in Rust that works perfectly.

julian ,
@julian@activitypub.space avatar

@mpb interesting statement... is it possible to be 100% complete? 😛

@julian@activitypub.space avatar julian , to NodeBB Development

Right now, when you cross-post something to your forum, it is represented by the "clone" icon, or two overlapping squares.

d26d9d3e-7130-418e-af8b-cf4e86a7a550-image.jpeg

Do you think the "shuffle" icon works better?

eab40481-634a-439d-855d-d66d143a7177-image.jpeg

image/jpeg

@benpate@mastodon.social avatar benpate , to random

I've been thinking a lot about and how to make it easy for people to find and join the

Here's some ultra-low-effort drawings of the process I'm imagining. (criticism and refinements welcome)

  1. embeddable widgets (follow, like, share, etc) for any site

  2. pre-populate search fields to recommend a single server (with overrides)

  3. pass extra data to that server on signup so the intent is honored

  4. recommend additional accounts based on context

Yes?

image/jpeg
image/jpeg

julian ,
@julian@activitypub.space avatar

@benpate depends... who's hosting the web intent button code and handling all of the behind the scenes tasks?

What are the buy-in requirements for each implementor, 3b86?

I see value in it, but I am not entirely sure if the flow is expected. I haven't clicked a "share to facebook" (or similar) button in years, if ever, but I am not the target user.

@sl007@digitalcourage.social avatar sl007 , to random


@julian
@mat
et al.
This is about https://www.iso.org/obp/ui/#iso:code:3166:IO which will stop to exist „by the end of the year“ https://digitalcourage.social/@[email protected]

We will mark it as "deprecated" and send an Update then.
What else to do?

[we did assign the following already]
XK Kosovo
XF In Flight
XS At Sea (intl)

for "do nothing" or other, please comment
:digitalcourage:

julian ,
@julian@activitypub.space avatar

hey @sl007 , wondering why I was mentioned, did you mean to tag Julian Fietkau?

julian ,
@julian@activitypub.space avatar

@sl007 yes, I just don't have much opinion on such matters.

julian ,
@julian@activitypub.space avatar

@sl007 it's here: https://github.com/swicg/forums

Although I don't use the GitHub much. I coordinate notes, notes, and minutes on the fediverse itself. Formerly at @forum-wg@community.nodebb.org and now at @forum-wg

@julian@activitypub.space avatar julian , to random

Trying to find a post to test custom emoji... searching on fosstodon.org... at page 10 and still scrolling...

I gave up and went to blahaj.zone.

Page. One.

That is all.

julian OP ,
@julian@activitypub.space avatar

@stefan very true! I ended up unable to use blahaj because they don't allow fetches from localhost, but mstdn.social did, so I was able to successfully test :)

@killyourfm@layer8.space avatar killyourfm , to random

I know this nonsense has a lot of people searching for alternatives (like Matrix, Stoat, etc), and those alternatives have a chance to shine right now. BUT we need to go back to discussions and knowledge being searchable on the open web!

I say bring back the forums. It's time.

julian ,
@julian@activitypub.space avatar

@GlitchGhost fwiw NodeBB is a federating forum that ships with full text RSS support 🙂

@phnt@fluffytail.org avatar phnt , to random

Trusting Trust in the Fediverse

A very long blog post about the various "safety and privacy" features that got added over the years to ActivityPub and how useless they can be in the eyes of users unaware of the inner workings.

There's nothing really new I talk about, but it is a long explanation of my reasoning behind why I don't take "features" such as signed fetches and interaction consent seriously. What can be considered "new" to most, is the last section of bypassing signed fetch enforcement without impersonation, which I talked about probably twice over the years.

https://evilmaid.net/blog/trusting-trust-fediverse/index.html

(If there are styling issue, tell me. I've written the CSS from scratch, and I suck at it.)

julian ,
@julian@activitypub.space avatar

@julian yes I did! Lots of stuff is not captured by the FEP process, which is fine (it's overly formal compared to writing your own docs), but it's absolutely essential for getting others to implement it.

@phnt the @forum-wg will eventually discuss thread locking and other fun forum-y actions. Follow the group for updates! 🙂

@stefan@stefanbohacek.online avatar stefan , to random

The proposed (and widely used) fediverse logo is now part of the Font Awesome library.

https://fontawesome.com/icons/fediverse?f=brands&s=solid

julian ,
@julian@activitypub.space avatar

@stefan Thanks for sharing, this is huge news! I've been using share-nodes and circle-nodes in NodeBB to represent fediverse stuff (or @liaizon's asterisms), but I will likely switch over to this once we update our FontAwesome library :tada:

julian ,
@julian@activitypub.space avatar

No worries @liaizon at this rate the asterism will be a font awesome icon by 2032! 😝

@stefan

@shayman@cosocial.ca avatar shayman , to random

how is speed shovelling not an Olympic event yet? We're getting lots of practice.

julian , (edited )
@julian@activitypub.space avatar

@shayman do we really need this?

Every Canadian dad will be a self proclaimed expert.

Well, I guess that's already the case 😝

julian ,
@julian@activitypub.space avatar

I am here for this. Elbows up!

julian ,
@julian@activitypub.space avatar

Don't get me started on what a confusing name NodeBB is. We are not creative types and we thought the association with phpBB was "cool". Well, it still is, kind of, but the association holds little weight today.

I've heard "No Debb" too many times to count, I just roll with it now. sigh. No Debbs allowed, okay?

@transicorn@mastodon.social avatar transicorn , to random
julian ,
@julian@activitypub.space avatar

@transicorn they can't possibly get hacked twice right?

@dansup@mastodon.social avatar dansup , to random

Perhaps Pixelfed and Loops should migrate from Discord to Discourse 🤔

julian ,
@julian@activitypub.space avatar

@mbirth NodeBB doesn't work with Tapatalk, you install the website directly as an app to your home screen and can enable push notifications through that as well.

julian , (edited )
@julian@activitypub.space avatar

@dansup If you're serious about it, let's make it happen. Happy to provide discounted hosting for a NodeBB forum for Pixelfed and Loops on our infra and we can take care of everything.

Caveat: it's gotta federate :wink:

DM me whenever you're ready.

@alexchapman @incentive

julian ,
@julian@activitypub.space avatar

Certainly. It's possible with the screen capture API to do screen sharing via a WebRTC conference call. One of our users created an experimental plugin that did just that (like, ten years ago, even!)

Of course you were being facetious and moving the goalpost by expecting a Discord replacement to do everything Discord can. If you RTFA you'd know I said that wouldn't be possible.

But that's ok too. I'm not here to convince you.

julian ,
@julian@activitypub.space avatar

Fair, in that case I apologize for assuming malintent.

Specifically I argue that forums ably take the place of Discord's text communication features (chat and discussions), but do admit it does not do everything Discord can. One may also argue whether it should!

@julian@activitypub.space avatar julian , to random

We should all aspire to be so "unhinged"...

https://github.com/starfederation/datastar/issues/1131

@stefan@stefanbohacek.online avatar stefan , to random

Time to dust off those early 2000s forums!

"Discord announced on Monday that it’s rolling out age verification on its platform globally starting next month, when it will automatically set all users’ accounts to a “teen-appropriate” experience unless they demonstrate that they’re adults."

https://www.theverge.com/tech/875309/discord-age-verification-global-roll-out

julian ,
@julian@activitypub.space avatar

@stefan I'm so here for this. 😛

@sl007@digitalcourage.social avatar sl007 , to random German

@julian
@mat
@reiver

Into the blue …
Wondering what is your opinion/feeling of :digitalcourage: https://github.com/tetherless-world/markdown-rdfa :)

julian ,
@julian@activitypub.space avatar

@sl007 never really considered meta data addition as part of data authorship but the great thing about markdown is its extensibility

@cwad@mastodon.circlewithadot.net avatar cwad , to random

Converted our Mastodon blocklist to match @nodebb 's format. You can easily copy/paste this into the blocklist form under Admin -> Settings -> Federation

https://git.circlewithadot.net/CWAD/fediblock/src/branch/main/nodebb.txt

ALT
julian ,
@julian@activitypub.space avatar

@cwad this is cool, thanks! I'm looking to build out remote blocklist support at some point, so hopefully you won't have to keep creating nodebb-specific blocklist variants soon :smile:

@box464@mastodon.social avatar box464 , to random

A random profile image generator of men with beards. 🧔🏻

https://placebeard.it

julian ,
@julian@activitypub.space avatar

@box464 I.... okay, I can find a use case for this, I'm sure.

@thibaultamartin@mamot.fr avatar thibaultamartin , to random

I quite liked shooting portraits of speakers at FOSDEM, and I wish I had had the time to go to other devrooms and shoot more.

I wonder what conference to go to next, to shoot more of those.

A portrait of Amandine, in front of her slides, holding a microphone in front of her mouth.
A portrait of Timo, gesturing to the audience as he explains something.
A picture of Neil, leaning on a desk where his laptop stands. He is doing a demo on his laptop. In the background we can see Matthew and another person, blurred.

ALT
julian ,
@julian@activitypub.space avatar

@thibaultamartin those are some great shots!

There is FediMTL in Montreal Canada later this month but I assume that is too far? 😁

@julian@fietkau.social avatar julian , to random

FEP drafting: Am I using “side effects” here the same way as other ActivityPub developers? I've seen the term used a bunch in casual conversation, but my personal understanding of it is kinda fuzzy.

ALT
julian ,
@julian@activitypub.space avatar

@julian yes you are correct as far as my limited understanding goes.

My personal definition of side effect limited to "unintended consequences", which differs greatly from the ActivityStreams definition, so for my own sanity I avoid the term in my own documents 🙂

@incentive@mastodon.circlewithadot.net avatar incentive , to random

Learning how nodeBB works and have a working instance up. However, trying to follow Lemmy communities to test, or pulling in anything via federation, doesn't seem to work for me. Nothing in logs to suggest anything related to the action of adding/removing group actors from the subscribe list is actually happening. Federation is enabled in settings, canonical URL is correct.

Wondering if it's something obvious I'm missing.

@julian @julian

julian ,
@julian@activitypub.space avatar

@incentive hmmm, can you send me your instance for me to take a look at?

Do you have a proper url set in config.json?

julian ,
@julian@activitypub.space avatar

@incentive your forum does seem to be responding ok, but perhaps ActivityPub requests aren't making it in due to proxy or security settings (as you surmised)

If you can't follow anyone and nobody can follow you that does seem to be the case.

I'm assuming if you paste an URL into the search it works ok to pull in content?

julian ,
@julian@activitypub.space avatar

@incentive that's great to hear!

I am not sure if that will fix issues with your category follows though. Hopefully!

Let meet know

@incentive if you run into any additional trouble.

julian ,
@julian@activitypub.space avatar

Depends what you want to do with categories.

If you want to just start receiving content from that category, have your user start watching it (or tracking it). Then it'll show up in /world.

The category sync tooling is mainly for if you want every topic from a sync'd category to be cross-posted to your own category.

julian ,
@julian@activitypub.space avatar

Woo hoo! Glad to hear it, and welcome to the threadiverse!

julian ,
@julian@activitypub.space avatar

I think there's definitely an underserved space for academics on the fediverse.

Feed-based mechanics are not good for archival or slower (read: not always online) readers, so NodeBB actually works really well to collect that stuff and present it in less of a firehose-y format.

For example, here's a NodeBB forum that follows the tag: https://postcall.pub

Here on ActivityPub.Space the discussion is all ActivityPub focused and it is really really good at keeping up to date with the latest topics.

I'd be happy to work with you to start a general science (or more topic-focused) board if you're interested...

julian ,
@julian@activitypub.space avatar

Good on you Rimu. If NodeBB implements Activity Intents it'll be because of you.

julian ,
@julian@activitypub.space avatar

The PixelFed kickstarter was actual money delivered to a bank account. I don't know how much more incentive one needs.

I will try hard not to speak ill of a fellow Canuck however.

@gabboman@gabboman.xyz avatar gabboman , to random

god damit if I want to convert an animaged gif/webp to a mp4 video turns out I need to extract all frames THEN I use ffmpreg to join them in a video file.

I rather have one command to do it that i can call ass a dependency :/

julian ,
@julian@activitypub.space avatar

@minka is there something ffmpeg cannot do lol

Pretty sure if I called ffmpeg instead of ebook-convert it'd work too

@dalias@hachyderm.io avatar dalias , to random

I recently saw someone leave fedi at least temporarily as a result of harassment, and one thing they highlighted was that most of us don't see the harassment they were getting because of how federation works and the fact that our instances block all the vile ones most of the harassment was coming from.

They were running their own single-user instance. 🙁

We really need better resources for single user instances to benefit from third-party moderation resources, but we also need to get the narrative out that running a single user instance is a horrible idea unless you want to be your own fulltime moderator or drowned in engagement from the worst parts of the net. Treating it as a viable option now really sours folks to the whole concept.

julian ,
@julian@activitypub.space avatar

@dalias this is very much something the SWICG Trust & Safety Task Force is hoping to address.

They meet monthly but it's worth following @trust-and-safety for updates and discussions about this very important topic.

@devnull@socialhub.activitypub.rocks avatar devnull , to ActivityPub Protocol

Hi all,

Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

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

julian , (edited )
@julian@activitypub.space avatar

Okay, I am perfectly fine to relax the requirement from a MUST to a SHOULD.

Does that resolve the thundering herd concern acceptably?

Other solutions would entail:

  1. Setting explicit null as object (yes @trwnh this is yet another example of a place where null makes sense!) if the object is hard deleted.
  2. Sending an ETag header with the Delete activity. When re-requesting, send that same value in If-Modified-Since and the receiver can opt to terminate execution early with an HTTP 304.