blake, to forum

A that takes on would have to:

  • Have some kind of real-time interface. The chat-like style Spectrum.chat used was great for this (apart from Spectrum (source linked) being slow as hell).
  • Provide plenty of single sign-on. IndieAuth on by default could be a big help.
  • Have a cheap/free (at least sponsor open-source projects to be free), dead-simple way to host your own

Other nice-to-haves:

  • Fediverse support of some kind.
  • Integration with Discord (hell, using Discord's forums, and bi-directional! It's possible with Discord's API, last I checked).
devnull,
@devnull@crag.social avatar

@blake never say never! I've seen lots of interesting projects take on the whole "host Node.js on the cheap" aspect (@cloudron being one).

I won't bore you with details on why fits the bill for the other parts of your post, because you explicitly mentioned it.

PHP hosting wasn't always simple either. I remember messing around with php-fpm for far too long. Node will get there (still waiting after a decade though 🤔)

cc @thisismissem

BeAware, (edited ) to fediverse
@BeAware@social.beaware.live avatar

ActivityPub is so neat! With all the new implementations coming out, it's slowly becoming my "one stop shop" internet aggregator.

For example, all from within my Mastodon instance I can:

Follow communities on Lemmy and Kbin, allowing me to interact with every post/comment and make my own post or comment to any community.

Follow my favorite podcasts and get new episodes directly in my feed via PodcastIndex.org

Follow WordPress blogs that have the ActivityPub plugin activated.

SOON enough I'll be able to:

Interact/follow accounts on Threads (and hopefully someday Instagram)

Follow/interact with comments/posts/communities from NodeBB forums.

This protocol is changing the internet and how I use it every day.

PS. If you want more information on how to do any of these things, just let me know and I will explain. Though please limit to asking about one or two at a time, as some are quite intricate in their implementations.

Edit: Nitter has been shut down 2 days after I posted this. Oh well. Fuck Xhitter

kerfuffle,
@kerfuffle@mastodon.online avatar

@BeAware Cool, I didn't know NodeBB is also on ActivityPub now!

devnull, to mastodon
@devnull@crag.social avatar

On content deliverability and

I think awhile back @thisismissem lamented the fact that you couldn't be notified of a reply chain unless a) you directly contributed to it (or were mentioned), and b) the replies kept mentioning you.

... and so we're in this weird situation where everybody on Mastodon just mention-spams so people don't get left out, which is... janky, let's not mince words.

🧵

devnull,
@devnull@crag.social avatar

keeps you in the loop by having the user follow a topic once replied-to, but I can't force this on Mastodon users (not morally, I literally can't). Most I can do is keep all topic participants in the loop by sending all the replies I get to their respective instances; while it'll show up in their home feed (one hopes), they won't get notified. That's a Mastodon-ism, and I can't change that.

Different implementors may handle incoming content differently though, so not all hope is lost!

BeAware, to fediverse
@BeAware@social.beaware.live avatar

deleted_by_author

  • Loading...
  • devnull,
    @devnull@crag.social avatar

    @BeAware being a php-scripted software benefits from some segregation of logic, so if a bad update occurs, parts of the site break, but the site as a whole is unlikely to become unresponsive.

    runs on and a bad update could literally bring down the forum, so early on a decision was made to have upgrades via cli, which is also a light form of gatekeeping.

    But it's pretty easy... ./nodebb upgrade and grab a coffee 😄

    devnull, to fediverse
    @devnull@crag.social avatar

    Today at 16:19, a @nodebb instance sent its first "Note" into the fediverse 😄

    Baby steps!!

    devnull,
    @devnull@crag.social avatar

    @AltCode @nodebb soon! The two-way interface is still very much in active development so when queried, currently doesn't know to respond with a Note object. That's easy to do though so I'll have that working soon hopefully!

    jwildeboer, (edited ) to fediverse
    @jwildeboer@social.wildeboer.net avatar

    I am not a fan of including big or obscure libraries into apps or services, but in the case of I'd make an exception. If there would be a well-maintained standard compliant ActivityPub library that one could include instead of having to reinvent the wheel (and creating interoperability problems along the way) as I too often see happening right now, that would be GRAND!

    devnull,
    @devnull@crag.social avatar

    @lobingera @jwildeboer I'm also writing an implementation for @nodebb but have been rolling my own logic for a lot of it for one simple reason... that while there are many parallels between and , that translation layer is not really generic enough to use by others.

    However there is a lot of low level boilerplate that could be genericised out, and I'd love to do that for . Things like http signing and verification, key generation, etc.

    daniel, to fediverse
    @daniel@mstdn.degu.cl avatar

    ActivityPub defines a stream of objects whose content is essentially text, but can include HTML tags. For example, "<p>I <em>really</em> like strawberries!</p>" (wich I take from Example 8 in https://www.w3.org/TR/activitypub/).

    In https://cosocial.ca/@evan/111771562317992298, @evan distinguishes short-form text (e.g., Mastodon 500 characters posts) from long-form text (WordPress article entries). Short-form text does not require much markup, but long-form text may require it to share a faithful copy of an article.

    Currently, a WordPress blog does not look the same on Mastodon because the HTML elements are changed. For example, @evan blog entry https://evanp.me/2023/12/26/big-fedi-small-fedi/ has the element &lt;h2 class="wp-block-heading"&gt;Big Fedy&lt;/h2&gt;, which Mastodon shows as &lt;p&gt;&lt;strong&gt;Big Fedy&lt;/strong&gt;&lt;/p&gt;. I don't know who changed the original document structure (Mastodon or WordPress) but it appears that the HTML elements were modified to avoid breaking the Mastodon UX. I imagine that if we include SVG code directly on WordPress pages, these code may be complicated to render on Mastodon, even when the browser supports SVG rendering.

    @evanprodromou, which HTML fragment is allowed for the content of an ActivityPub object?

    devnull,
    @devnull@crag.social avatar

    @evan @daniel @evanprodromou unrelatedly, sanitizes post content too, and I did think it was a little weird that sends HTML back and forth.

    It all boils down to never trusting user input (that includes input from servers acting as intermediaries!)

    I would rather see passed around, but that's just me 😊

    leroy, to fediverse
    @leroy@indiehackers.social avatar

    What is your preference of forum thread?

    Would love to hear your reasoning why!
    Personally, I like the possibility of tangents in Reddit BUT I think I prefer the focus of staying on topic from a single thread.

    devnull,
    @devnull@crag.social avatar

    @leroy @BeAware @multiverseofbadness sure, you're indirectly weighing in on the perceived "cultural fit" of the user in that particular forum's environment. You like what you see, you upvote.

    But if you're talking literal and objectively, then also yes. can be configured so new users with zero rep have their posts queued for approval. If you get one upvote, you clear the hurdle and can post freely.

    Basically, it catches all the spam. 🤷‍♂️

    devnull, to fediverse
    @devnull@crag.social avatar

    Last week, I started my initial forays into retrieving and parsing remote content from the . As expected much of the data structures are identical to but named and organized differently, so there's a lot of bits and pieces that need connecting.

    Nevertheless, it's thrilling to see remote content on a local instance!

    Next week: federating likes, perhaps? 😃

    devnull,
    @devnull@crag.social avatar

    @evan ah, I just mean that things like Notes translate well to (NodeBB) posts, likes are likes, authors are users, etc.

    It means I don't have to jump through major hoops to make federate.

    devnull, to fediverse
    @devnull@crag.social avatar

    I'm guessing the "conversation" value in an Note object is specific, and other implementors have adopted it as a pseudo-standard?

    devnull,
    @devnull@crag.social avatar

    @trwnh Thanks again.

    Did some digging and it doesn't seem well supported. Happy to use it for but bsd.network, for example, just sends the object id with appended, which when queried just returns the same object. not surprisingly doesn't send one at all.

    What I'm trying to get as is it doesn't seem there is one property I can rely on, so I may just have to create my own contexts as I go.

    leroy, to fediverse
    @leroy@indiehackers.social avatar

    What would a fediverse forum look like to you?

    I know there are some out there, but I'm getting mixed signals about whether it's working or not. Anyone tried them?

    multiverseofbadness,
    @multiverseofbadness@toot.wales avatar

    @leroy

    @devnull - this question may be up your alley?

    devnull,
    @devnull@crag.social avatar

    @leroy @multiverseofbadness yeah the idea is there'd be two-way communication between the local instance and the . Any less and it wouldn't be what I envision for my implementation 🙂

    Also thanks for the kind words about the design. It took up much of our time and was released last year for our v3 of NodeBB... which is also when I discovered 😁

    devnull, to fediverse
    @devnull@crag.social avatar

    Does there exist a brief write-up of how content is federated out? Do different implementors federate content differently? (@stesnac suggests so!)

    Here's my head-canon at present... when a note is created, the note is sent to all followers. If users are mentioned, the note is also sent to those users' inboxes.

    If a note is addressed to the public collection, do it just get blasted to all known instances' inboxes?

    https://snac.bsd.cafe/stesnac/p/1704724939.498114

    devnull,
    @devnull@crag.social avatar

    @naturzukunft @martin Yes, that's one of the "gotchas" that features 😉

    It will be interesting to see how this is reflected in should I decide to integrate federation for our chats subsystem....

    thenexusofprivacy, to fediverse

    Strategies for the free fediverses

    https://privacy.thenexus.today/strategies-for-the-free-fediverses/

    The fediverse is evolving into different regions

    • "Meta's fediverses", federating with Meta to allow communications, potentially using services from Meta such as automated moderation or ad targeting, and potentially harvesting data on Meta's behalf.

    • "free fediverses" that reject Meta – and surveillance capitalism more generally

    The free fediverses have a lot of advantages over Meta and Meta's fediverses, some of which will be very hard to counter, and clearly have enough critical mass that they'll be just fine.

    Here's a set of strategies for the free fediverses to provide a viable alternative to surveillance capitalism. They build on the strengths of today's fediverse at its best – including natural advantages the free fediverses have that Threads and Meta's fediverses will having a very hard time countering – but also are hopefully candid about weaknesses that need to be addressed. It's a long list, so I'll be spreading out over multiple posts; this post currently goes into detail on the first two.

    • Opposition to Meta and surveillance capitalism is an appealing position. Highlight it!

    • Focus on consent (including consent-based federation), privacy, and safety

    • Emphasize "networked communities"

    • Support concentric federations of instances and communities

    • Consider "transitively defederating" Meta's fediverses (as well as defederating Threads)

    • Consider working with people and instances in Meta's fediverses (and Bluesky, Dreamwidth, and other social networks) whose goals and values align with the free fediverses'

    • Build a sustainable ecosystem

    • Prepare for Meta's (and their allies') attempts to paint the free fediverses in a bad light

    • Reduce the dependency on Mastodon

    • Prioritize accessibility, which is a huge opportunity

    • Commit to anti-fascist, anti-racist, anti-colonial, and pro-LGBTQIA2S+ principles, policies, practices, and norms for the free fediverses

    • Organize!

    @fediverse @fediversenews

    devnull,
    @devnull@crag.social avatar

    @samid @thenexusofprivacy @lrhodes @evanprodromou @noracodes @fediversenews I fully believe in the concept of separate but connected communities on the social web. is positioned (along with all other implementors in the ) to make this happen — it's an exciting time!

    Also @evanprodromou I do prefer "" over 🙂

    devnull, to fediverse
    @devnull@crag.social avatar

    Would I be a bad implementor if I don't maintain a "feed"?

    If a post is created, NodeBB would send the Create activity to all of the author's followers, and that post would be displayed on that app, usually in the form of a feed.

    On the other hand, if other apps send Creates to me, I can save them, but there's no place to display them organically within the existing forum structure 🤔 — since they're not part of an existing topic/category/etc...

    devnull,
    @devnull@crag.social avatar

    @steve @mariusor am I reading this right, that if you didn't happen to already be around to receive the Create activity from a Mastodon instance, you're SOL and you'll never be able to retrieve it (at least within the bounds of the spec)?! That's ... a choice, I suppose.

    As for intent in the original toot, I am referring to S2S implementation. will definitely have an S2S inbox endpoint.

    devnull, to fediverse
    @devnull@crag.social avatar

    I'm looking forward to talking more about and integration on here again, been distracted lately with other technical debt items — and of course — work to put food on the table 😄

    Not going to lie, one of the support services is "mentoring on community building". You'd think the co-founder of a COMMUNITY BULLETIN BOARD SOFTWARE would be aces at building community, but truthfully, I really suck at it.

    The fact that "build it and they will come" worked at all is miraculous.

    devnull,
    @devnull@crag.social avatar

    @thisismissem @NGIZero I've been passively noting that you've been working on trust & safety in the , is that right? Definitely something we'll want to discuss sooner rather than later — bridging 's built-in moderation tools with fediverse standards would be a win for us all.

    devnull,
    @devnull@crag.social avatar

    I've said it before and will say it again, that the team for the past ten years has been graced with a huge amount of luck. With the right people just happening to come along at the right time, to clients taking a chance on a trio of literal nobodies, etc.

    That kind of luck doesn't last forever, and so I'm very excited to work with the @NGIZero to really supercharge our

    aral, to DaftPunk
    @aral@mastodon.ar.al avatar

    Daft is so apt.

    What the fuck state are those switches in, Daft?

    devnull,
    @devnull@crag.social avatar

    @aral ha! As with all abominations sometimes there are places they can be helpful?

    I was building out additive permissions in when I needed to communicate to the end user that even though a specific privilege was not checked, that in reality, though the additive nature, it may as well have been. (e.g. a particular user group may not have the privilege to post new topics, but if the global registered users group does, then all other groups do too). An indeterminate checkbox was perfect 🤷‍♂️

    danluu, to random
    @danluu@mastodon.social avatar

    As a follow-up to https://mastodon.social/@danluu/109798007902048311, I wonder why there isn't a serious, well-funded, attempt to create a modern forum

    If you look at Wikipedia's list of forum software, it's all ancient except discourse, and discourse seems unlikely to ever be something great for users

    Its performance is famously terrible. People often point out how unusable it is unless you have a fast phone and the founder's response to this has been to rant about how Qualcomm sucks and need to make faster processors

    devnull,
    @devnull@crag.social avatar

    @jernej__s @danluu hey, I can provide some context for that. In 2014 or 2015 maybe, we wrote an article for on , and it got AfD'd for being non-notable. Subsequent attempts to reintroduce the article were immediately deleted, and doing it the "right way" (aka, submitting a draft for review) went unanswered.

    Overzealous editors have their fiefdoms and the "list of forum software" is one. No article = no entry, and when we make one we get shut down.

    So we just gave up 👍

    devnull, to random
    @devnull@crag.social avatar

    Wife's phone in for screen replacement, so I lent her mine. In the meantime, back to my trusty old 6.1

    This phone was released in 2018 (!!) and is still supported by the amazing maintainers working with @LineageOS

    In fact, I have the option to sideload 20, which is Android 13 🤯

    Admittedly the phone runs a tad slow.

    nodebb,
    @nodebb@fosstodon.org avatar

    @devnull You know what this means, yes? You now have to work on optimizing code so it runs more efficiently on older hardware 🤓

    brawaru, (edited ) to random
    @brawaru@mstdn.social avatar

    When seeking support or sharing feedback about software/website, which platform would you prefer to use? Please share your reasons in the replies (if you wish).

    Boost for visibility 🚀

    brawaru,
    @brawaru@mstdn.social avatar

    Still looking for responses to this one! Also I should've probably included hashtags, however I can't edit the post because that'll reset votes. I don't remember if hashtags work for replies, but probably worth a try: .

    devnull, (edited ) to fediverse
    @devnull@crag.social avatar

    As it turns out, a lot of verbs and objects correspond quite nicely with verbs and objects (e.g. a like would be an upvote, etc.)

    However I'm not exactly sure how the "announce" verb would translate. In , "announce" is a "boost". The closest forum-land equivalent would be the "bump", whereby a topic is brought back to the top of the list (usually through a reply).

    Only downside, bumps are reserved for admins. Non-admins "bump" a topic by replying to it.

    🤔 🧵 (1/3)

    devnull,
    @devnull@crag.social avatar

    @leroy hmm... that's something I haven't thought about yet, but because now we're talking about how would handle it locally, the options are wide open.

    Could be that when shared to the local hierarchy, it is placed at the top of the topic listing (as expected), but further shares/boosts don't adjust its positioning.

    Could be configurable by the local admin, even!

    nodebb, to random
    @nodebb@fosstodon.org avatar

    There's something comforting in hearing about a upgrade from v1.1.6 to v3.5.2, running with no problems whatsoever.

    A lot of breaking changes and DB schema updates happened between those versions!!

    nodebb, to random
    @nodebb@fosstodon.org avatar

    v3.3.1 — a new patch release has dropped, offering fixes for an upgrade script bug for psql users, and a minor font fix.

    https://github.com/NodeBB/NodeBB/releases/tag/v3.3.1

    devnull, to fediverse
    @devnull@crag.social avatar

    Kids down early, wife at the movies with friends, chores done...

    Games or development for ?

    I think we all know where this is going.

    boots up IDE

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines