some feedback about Lemmy/PieFed from Reddit users

Linked to https://www.reddit.com/r/RedditAlternatives/comments/1xdb5ro/a_stupid_question_about_reddit_alternatives/

I’ve tried both [Lemmy and PieFed], and the UX is incredibly unintuitive and unpleasant. The main problem is that it’s quite hard to discover content you want while avoiding content you don’t, Bluesky at least has really good custom feeds that are easy to add (the default feed sucks). Another big issue is the general site layout, it’s hard to figure out how to do things as simple as saving a post for later or how to go back to the feed without being redirected back to the post I’m trying to exit.

Maybe they didn’t see the “Feeds” feature in PieFed? The top navigation menus in PieFed are a bit messy. Although shareable blocklists could be cool too, or maybe toxic?

That’s excluding the horrible lack of contrast most frontends use, which makes reading and parsing the site elements unnecessarily difficult (no Lemmy, grey text on a grey background is not good for readability).

I like the Lemmy colors, but maybe it should be easier to change, because they might like the darkly-pureblack theme.


Fediverse feels slower, but not in a good way. More of a ‘if I don’t use this for a week, I’ll see new things’. If I log in after 2 or 3 days, I’ll scroll for 10 minutes and see the stuff I saw last time.

Maybe this is a UX issue of not finding the right feed they would like.


I’ve tried using lemmy and have exactly the same issue. After blocking all the politics stuff, left wing meme stuff and tankie stuff there’s bugger all remaining. Even with all the blocks I’ve made it just seems to be a bunch of toxic left wing people calling each other fascist because of some minor difference in opinion.


I also want nsfw stuff now and then. I hate how censored the internet has become, at least with reddit if I want to see a bit of porn, I can.

Again maybe a UX issue of not presenting what communities they could subscribe to.


I tried twice to join those forums within the Fediverse and I can’t get past the captcha test. The fact that you need approval to validate your access doesn’t seem designed to encourage you to recommend it.

The captchas on Lemmy are AWFUL, I can’t do them either.

(that’s the “Medium” difficulty)

Lemmy v1.0 is adding the ability to do invites, so maybe there will be an invite-only instance that gets some momentum, that could be cool. Invite sites seems like a cool old-internet type of culture.


The fediverse stuff is way too complicated for me, Reddit is very easily accessible and actually has active communities for the topics I’m interested in.


Of course these are naturally going to be all negative because they’re users that bounced off the Threadiverse, but there’s probably hints to what can be improved

Enabling Sensitive Conversations with Consent Boundaries: Moa, a Platform for Discussing PhD Advising Relationships [as a testcase] | Proceedings of the ACM on Human-Computer Interaction

Linked to https://dl.acm.org/doi/10.1145/3816927

I think this is a really interesting example of how the Fediverse has so much potential that goes far beyond the visions of social media that Corporations and rightwing extremist billionaires could ever provide us.

Yes a great use of a social media platform, if structured well and locally moderated by human beings, could absolutely be useful for certain cases like this in a way that would be superbly difficult to arrange otherwise.

Individuals who suffer from problematic power dynamics, such as mistreatment or abuse from someone in power, can benefit from identifying allies, whether it is to seek advice or remedial action. Here, we use the word “ally” to refer to any individual who is sympathetic and can offer some kind of help, ranging from sharing useful information to actively navigating the situation together. Example contexts include workplace bullying [91], political persecution [57], and sexual harassment [23]. In contexts where potential allies are initially unknown, however, someone must make at least a partial disclosure of their experience for what we call ally discovery1 to succeed. But, disclosure is risky because the exact conditions under which these situations arise heighten concerns of exposure and retaliation [3, 21]. That is, one cannot know whom to trust about an issue until one discloses being affected by it; yet one cannot disclose before knowing whom to trust.

Some of the most helpful information in navigating problematic power dynamics can come from individuals who share similar traits regarding the context, e.g., women working with the same manager. How can we facilitate the flow of information in such situations, so that individuals who need it most can discover allies while maintaining one’s anonymity? We consider this problem in the context of PhD students experiencing advising challenges. Because the advising relationship is fraught with power dynamics and ripe for exploitation [14, 47, 54, 80], ally discovery is critical for enabling students to connect with peers who might offer advice or partnership toward remedial action. Yet, research shows that ally discovery within the same PhD program can be difficult [24, 27].

…

Social media platforms are typically structured around a predefined network (e.g., followers) or space (e.g., group) [92]. In contrast, Moa focuses on the question: “How does each user want to design their audience per post or comment?” As a result, Moa does not implement any network model nor does it include user profile pages (REQ3).4 Furthermore, instead of letting users have access to the same content if they are in the same space, Moa’s users see different sets of posts (and comments) depending on their own and others’ consent boundaries (Section 4.2). In terms of the Form-From matrix [92], we believe Moa is closest to a Threaded Space, but consent boundaries considerably weaken both the threading and the space.

…

Taking a consent-centered approach was essential to developing Moa. While consent and privacy are closely related, there is a subtle difference in emphasis. Speaking strictly from an engineering standpoint, consent boundaries are like privacy settings—they give different permissions to different sets of users. But, they differ from traditional privacy settings with respect to the categories of user-sets that can be formed, the granularity of control, and most importantly, the way the categories align with users’ own preferences for control. Below, we reflect further on how consent differs from privacy, and what consent means for system development.

To begin, privacy is a fuzzy concept—scholars disagree on how exactly to define it, though definitions cluster around themes such as the right to be left alone, restriction of access, secrecy, control over personal information, personhood, and intimacy [77]. One relevant ambiguity in the context of computing is about who provides privacy: Privacy can be conferred to a user by the user themselves, or by a privacy-protecting system.

In contrast, the essence of consent is that it is strictly user-determined. The only entity who can grant an individual’s consent is the individual herself; there is no definition of “consent” in which a system can grant itself consent to do something to a user that the user does not herself wish to allow. Thus, relying on the term “privacy” can obscure the central role of the user, as privacy encompasses multiple, often ambiguous meanings. Arguably, the reason why “user-centered privacy” is a term distinct from general privacy is because the user-centeredness of privacy is not a given. Yet, even within the usable privacy and security community, discussions of consent have been limited to the notice-and-choice paradigm [13]. Consent is not cast as a foundational principle for system design.

Based on this view, systems frequently define privacy options in advance (i.e., the system is conferring some privacy), with users only able to accept or decline them. In practice, these options are often difficult to find or understand, further limiting true user consent. For instance, many of Facebook’s privacy settings are often hidden [30].

As the feminist affirmative consent framework recommends [35],14 consent should not merely be a mechanism for relaxing privacy constraints, but a foundational principle of design: individuals affected by an action should have the agency to define exactly what their consent boundary is, in the way that they conceive as relevant to a particular context.

…

Currently, Moa is maintained by the lead author in order to minimize privacy risks. Running the platform with 47 users turned out to be feasible—the lead author was diligent in moderating and seeking user feedback, and no incidents of abuse or negative feedback occurred. However, how could Moa and the concept of consent boundaries scale?

One way to scale is having multiple instances of Moa, one per organization or group, each with its own administrator, similar to Mastodon. This approach reflects an important assumption that local system admins are important for earning users’ trust, which was confirmed by our Phase 3 study. And, just as research shows that Reddit’s moderators have their own network of giving each other support [9], we imagine that there should be a support network for Moa’s administrators and moderators. This would ensure that each instance is not entirely isolated, and that when sensitive incidents happen, there would be cross-instance resources on how to resolve them.

It is possible to imagine building Moa as a larger, monolithic platform such as Facebook or Reddit, but we imagine even on such a platform, communities would have their own moderators—each trusted by their respective communities—who are empowered to provide the kind of meaningful oversight over identity that the Moa prototype included. For this study, it was easy for users to verify and understand that the moderator was also a PhD student in the same institution. At larger scale, there would need to be a process for selecting such moderators, and proving their identity to other members of the community.

In terms of consent boundaries, they are likely to be applicable to other contexts beyond PhD advising, such as among workplace employees [18, 67], survivors of sexual misbehavior by one group of people [16, 48], or potential whistleblowers at the same organization [19].

One aspect of the Moa prototype described in this paper was that there was an implicit consent boundary formed by the community of PhD students from the same institution—no user needed to consider whether their content would be revealed to non-students. Communities could be formed much like Slack’s channels around different topics, though additional mechanisms such as member-sponsored invitations to join or formal background checks would be required to ensure that community members satisfy membership requirements.

We also imagine consent boundaries could be used in general platforms such as Facebook or Reddit, likely in less sensitive contexts. Consent boundaries could help users carve out a group of people they want to interact with, without having to designate a particular space or network [92]. 6

government surveillance and targeting civilians.

Linked to https://x.com/MonitorX99800/status/2009139768505037261

The Federal government: ICE Homeland Security/NSA are behind the electronic surveillance of the populace by using programs similar to Prism and intruding onto the privacy of the ignorant masses. 

The perpetrators  feed information to civilians who act as drones  via electronic messages (smartphones) regarding the targeted individual.  Beware and be warned. They eavesdrop through cordless phones, cellphones, smartphones and computers, recording personal data.

They are stealing from individual’s bank accounts.  Account numbers, PINs, and utilizing immigrants to employ skimmers.  The government (ICE/Homeland Security) are also involved in drug trafficking and distribution.  They are using drug dealers and their addicted “clients” to disseminate narcotics that have been confiscated from over the border.  The perps believe they are covered by the state. The state has merged with civilians to create a criminal cartel: drugs trafficking, robberies, stalking/psyops, creating a hostile work environment, cyber-theft, assaults and murder.

Thinking of opensourcing my daily-driver fediverse app. What are your thoughts on running it through an AI security tool before doing so?

For about a year as a hobby I’ve been writing an app that scratches several itches that I’ve had with the fediverse (multiple accounts at once, supporting both microblog- and threaded-style content, synthetic/hybrid feeds, etc.) and for the past month or so have been using it exclusively on the desktop and about 50% of the time on mobile (Voyager is my main mobile client and source of inspiration here). I’d like to open source the whole thing. But the code is mine, therefore buggy and bad. Normally I’d not worry too much about that, but in the age of LLM attacks I don’t want to contribute more security vulnerabilities to the world. Should I use an LLM security tool to analyze my code and point out security issues so I can patch them before releasing the code? If so that would more or less be the only AI contribution. I’m a practical-minded person and use AI tools at work so it doesn’t bother me, but I know lots of people here have strong (and often helpful) opinions on the matter.

4 days ago

Does this work for my micro-instance?

cross-posted from: r1b.it/post/12935

As I have browsed the Fediverse through r1b.it, I’ve noticed lots of missing content from remote communities. Some of that has to do with actual federation problems (which I have been in talks with other instance owners to fix), but most of it is a result of completely intentional behavior. Regardless of that, though, I feel as if missing content detracts from the r1b.it user experience. So, I decided to flex my programming muscles a bit and devised a solution.

For the more technically inclined bunch, you can keep reading to see how it works. For everyone else, you can just be happy to hear that you should now be getting all new content from your subscribed communities! If you have any further federation issues, please let me know. You can always @ me in !croak :)

**The nerd stuff**

Lemmy relies on an event-driven feed, meaning it doesn’t always automatically pull posts from remote servers unless someone is actively browsing or querying them. So, if a r1b.it user doesn’t actively interact with a community, the content won’t get pulled. If no new content is getting pulled, no one will interact with the community. To break this cycle, I’ve set up a lightweight Python script to automatically sync every subscribed community in the background. This script is set up as a cron job that runs every 6 hours. This script first queries r1b.it’s local PostgreSQL database to gather a unique list of every remote community local users are subscribed to. For each community it finds, the script targets Lemmy’s resolve_object API endpoint using the community’s full actor URL to refresh its metadata and maintain connection health. To keep this script from turning into a DDOS as r1b.it grows, it shuffles the community list to spread instances out and has a polite randomized pause between each request. Additionally, I plan to remove this script entirely if r1b.it ever gets big enough to federate itself naturally. py #!/usr/bin/env python3 import subprocess import urllib.parse import urllib.request import time import random LOCAL_DOMAIN = “https://r1b.it/” DB_CONTAINER = “REDACTED” DB_USER = “REDACTED” DB_NAME = “REDACTED” SQL_QUERY = “”" SELECT DISTINCT c.actor_id FROM community_follower cf JOIN person p ON cf.person_id = p.id JOIN community c ON cf.community_id = c.id WHERE p.local = true AND c.local = false; “”" def get_subscriptions(): cmd = [ “docker”, “exec”, “-i”, DB_CONTAINER, “psql”, “-U”, DB_USER, “-d”, DB_NAME, “-t”, “-A”, “-c”, SQL_QUERY ] try: res = subprocess.run(cmd, capture_output=True, text=True, check=True) return [line.strip() for line in res.stdout.splitlines() if line.strip()] except Exception: return [] def resolve_community(actor_id): encoded = urllib.parse.quote(actor_id, safe=“”) api_url = f"{LOCAL_DOMAIN}/api/v3/resolve_object?q={encoded}" req = urllib.request.Request( api_url, headers={“Accept”: “application/json”, “User-Agent”: “LemmyAutoSync/1.0”} ) try: with urllib.request.urlopen(req, timeout=10) as resp: return resp.status except urllib.error.HTTPError as e: return e.code except Exception: return 500 def main(): communities = get_subscriptions() if not communities: return print(f"Found {len(communities)} unique remote subscriptions") random.shuffle(communities) for actor_id in communities: status = resolve_community(actor_id) if status == 200: print(f"{actor_id} FEDERATED") elif status == 400: print(f"{actor_id} ALREADY FEDERATED") else: print(f"{actor_id} FAILED ({status)") # Polite randomized pause time.sleep(random.uniform(1, 5)) print(“Sync complete.”) if __name__ == “__main__”: main()

4 days ago

A university course is currently trying out Pixelfed

Linked to https://pixelfed.ca/

A few weeks ago, we started noticing a number of applications on pixelfed.ca, where the user would say that they needed to register for a course. I don’t have full confirmation, but I’m fairly certain that this is a legitimate wave of signups from students at a Canadian university.

I’m sharing this post for a few reasons:

  1. I thought it was neat

Personally, I’m excited that people are trying out Pixelfed and using it in coursework like this. If you are one of the students, now seeing this post, welcome! :) I hope that the project goes well, and that you have a pleasant experience on the platform. Feel free to share any and all feedback.

  1. Some of the posts may look like spam at first

You might be seeing similar looking posts from different accounts on your feed. My guess is that the course has specific requirements and example templates. However, there’s also plenty of real content (ex. artwork, photography, etc.), so I don’t think it’s going to be disruptive

  1. Please report anything that seems off

As always, you can report inappropriate content through the UI. For urgent issues, please email us at support@pixelfed.ca. You can also DM admin@lemmy.ca as there is overlap with our Pixelfed and Lemmy team members.

TIL the fediverse basically DDOS's sites when you share a link.

I shared a link from NPR Tiny Desk but there was no image preview or video embed. After investigating this I learned that when you do that, each instance picks up the link and individually retrieves the link preview nearly simultaneously. For gargantuan sites like YT or Reddit, this is a trivial amount of traffic and not a problem, but for smaller sites like NPR this results in a sort of botnet DDOS attack on the site’s servers. More here. Another example here . For that reason, NPR has blocked Fediverse servers like Mastodon.

I have experienced this on my personal server as well (DDOS), but at the time didn’t know why, exactly.

This isn’t the end of the world, but certainly is not great and hurts engagement with the content. Is there a solution for this? Perhaps using some sort of webtorrent service like PeerTube where they just fetch the information from another fediverse server instead of the source server? Maybe fetching embeds client-side? At least that would stagger the requests.

E: Many people have replied comparing this to the Reddit “hug of death” or “The Slashdot effect”. This is not the same at all. Those are legitimate site visits from humans that happen over the course of several hours. This is the result of several thousand servers all automatically fetching the same image simultaneously , and without any human involvement, and potentially next to zero human traffic to the site, which is why I compared it to a botnet or DDOS attack.

We built Omicron: Modern federated blogging Platform for Fediverse

Linked to https://omicron.blog/

Hello everyone. I want to introduce Omicron to Lemmy community. Omicron is modern federated blogging platform that created by modern developers with urgo for decentralized web. You can just try it, create an account or host your own instance! Here are some links fo you: Main instance: omicron.blog Project website: join.omicron.blog Full documentation: docs.omicron.blog Source code: github.com/the-jk-labs/omicron

i am interested in your thoughts! you can contact me at subhan@omicron.blog

Would you use passport Auth for the Fediverse?

We all know that the EU wants age verification for the web. I dont trust my country, the EU and definitely not Instagram, Twitter etc. to implement this in way where my personal data won’t be shared with anyone. But the idea that everyone on social media is a verified human beeing could also have a lot of positive effects.

Imo it would be awesome if every person could have only one single account. Bans and restrictions have much more impact which forces users to behave more like irl. You could reduce a massive amount of bots which would reduce fake news and be a time saver for mods.

As a solution for the privacy issue, I searched for open source passport verification tools and found ZKPassport which makes the proof on you own device without sending you data anywhere. It generates a deterministic Id which is salted and hashed, so you can’t find a real person from a user account or otherwise. Only this Id is sent to the server as a proof, nothing else. The code is open source and its possible to self host the backend for this system.

I try to implement ZKPassport into a lemmy fork to make a small proof of concept for this idea. Of course this needs a lot more security features for a real production scenario, because mods and server owners have much more power and the federation is more complicated with only a few servers that have passport auth enabled and some even have their own implementation of the auth.

So if the proof of concept works out well the question is, would people be rather use passport authenticated Fediverse instances when all of you data stays on your phone?

EDIT: I don’t suggest that the whole fediverse switches to passport authentication, every instance can decide on their own. Therefore you could also have multiple accounts across multiple instances but not multiple accounts on the same instance.