This post is written on https://normals.me and delivered to !fediverse@lemmy.world over #ActivityPub, so if you are reading it the basic plumbing works. Now let me explain what is this.

Normals is a forum with communities, threads, and questions with an accepted answer. It is a single instance, not software you can host, and the core is closed for anti-abuse reasons. The federation module will be published separately with implementation notes (FEP-67ff).

What federates today Every community is a Group actor following the Lemmy model (FEP-1b12). Follow @selfhosted@normals.me or any other community from Lemmy, PieFed, Mbin or Mastodon.

Posts and comments go both ways. Replies from your instance appear in the thread on Normals, replies from Normals go back to the origin.

Remote content is labelled with its origin, links back to it, and is never copied. Media loads from the source.

Signed fetches, so it works with instances that require authorized fetch. NodeInfo 2.1 is up.

Policies, in case they matter to you, it has no ads, and no paid reach, and of course no AI training on posts. AI crawlers blocked by default, public mod log with reasons, and no automated removals. Numbers at https://normals.me/transparency so please take a look.

If something from your instance shows up wrong here, or something from here shows up wrong on yours, reply with the URL and I'll fix it. Andy Piper mentioned NodeBB uses the same group model, if anyone runs a NodeBB instance I'd like to test against it, if possible.

I hope we all have fun. Cheers!

all 88 comments

sorted by: hot top controversial new old
[–] 73 points 1 day ago (7 children)

If your "anti-abuse" security requires your software to be closed source, then your software is not secure. Well built software can be open source, and still secure.

You imply that your code could not prevent abuse if it was known, so, no offense, but that code must be pretty bad!

I like the fediverse because it distributes power. I, as a user, have the power to choose my instance, choose my moderation, choose the structure that my social interactions are built upon (threads based, microblogs, etc) and if I dont like something, I have the power to change it. Thats why open source is such a perfect fit to that model. Closed source federation then, sounds to me like you didnt get it.

  • source
  • hideshow 7 child comments
  • [–] 9 points 1 day ago (3 children)

    closed source federation is fine. Federation is sharing the content and allowing users to remain connected across platforms it has little to do with what app is being used.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 1 day ago (2 children)

    Sure, its still federation. But in my opinion, its contrary to its philosophy of user control.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 1 day ago* (1 child)

    Its not a black or white thing. You can give users more or less control without giving them full control or no control. It still aligns with the philosophy because its giving users more control over their experience compared with other more mainstream platforms.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 72 points 1 day ago (25 children)

    Hi, I got a couple questions that aren't answered on your transparency page yet.

    • Has AI been used to create this?
    • Two AI communities are on top of your communities list. Your terms talk about preventing AI scraping, yet your platform seems to welcome "AI founders". How does this go together?
    • Where is the source code?
    • Your terms talk about monetization through Normals Plus. Can you elaborate on this?
  • source
  • hideshow 25 child comments
  • [+] [S] -8 points 1 day ago (22 children)

    Do I use AI to do everything? No, as a software engineer with over 15 years of experience in the industry, you can't let AI do all the work any developer knows that at this point? It messes things up all the time, ignores design patterns, ignores best practices, writes code stupidly cloning functions already exists, ignores SOLID, ignores security vulnerabilities, and so on. But I did use it to run unit tests, integration tests, perform performance and speed tests, and even to hack my own app.

    The communities are random, there's no fixed order in them. Besides, they're mirrored of other existing communities. As you can see, they come from other sources like Mastodon based on the hashtags.

    Regarding the plus feature, it's a way for users to decorate their profiles. I planned as source of income to maintain the project, otherwise, the project wouldn't exist, unfortunately I would need to pay for the serves to host the app, the DB backups, the infrastructure, pipelines, buckets, well if you are developer you might understand how a platform actually works. But nothing is implemented yet, nor will it be in the near future regarding the plus.

    It is a real shame that people think that this is vibecoded, without prior experience working as a developer and I am saying this because it more than enough to hit F12 and check the network tab, and the weird thing for me is that people judge because how it looks, but this is what the CSS Framework https://tailwindcss.com/ offers. However I appreciate your comment and I hope I answered your questions.

  • source
  • parent
  • hideshow 22 child comments
  • [–] 40 points 1 day ago (3 children)

    If you think choosing tailwind forces you into a certain style of website, you clearly don't know what you're talking about.

    And you clearly haven't just used AI for tests. I wonder if the source is closed because you know how obviously AI generated it would look if it was open source?

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] -5 points 1 day ago (2 children)

    Tailwind it’s a utility first framework with no pre built components, I think you are the one that does not know what are you saying, you build whatever you want and can fully customize the theme that’s literally the point of it, and it’s in the official docs.

    On the AI and closed source speculation, the auth, signatures, permissions, input handling is standard and went through an OWASP review before launch I said it before. I said I used AI for unit tests, integration tests, performance work, and even to attack my own app. I did not say I let it write the product. After 15+ years writing software, most of us already know AI still ignores SOLID, duplicates existing functions, and introduces security issues if you hand it the whole job. But you’re free to dislike the design or the decision to keep the anti-abuse parts private. The transparency page is public if you want the actual policies and review status instead of the theory.

    Again, if you don't like the UI or think this is all robots, you can always join X, Reddit, or any other platform that steals your data and helps big corporations, or you can develop your own and invite me, but for that you need to be developer first. I thought people were different in the Fediverse.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 14 hours ago

    After 15+ years writing software

    You keep mentioning that. Do you have anything you can show off from that time?

    For that matter, I also noticed no actual entity, person, name, company etc. is mentioned anywhere on your service. Not even a wider pseudonym of yours, or any way to reach you outside emailing the domain or your account on this new service.

  • source
  • parent
  • [–] 22 points 1 day ago* (last edited 1 day ago)

    It is a real shame that people think that this is vibecoded

    we can't see your source code but the copy on your transparency page sounds like LLM voice:

    • "Your feed is people and communities, not advertising."
    • "This is a promise we keep in good faith, not a technical guarantee."
    • "Analytics let people see how their posts, profiles and communities are doing. This is everything they record, and nothing else."
    • "Eight promises:" [...]

    If you say you wrote some of the code by hand, cool, i don't doubt it. But it's still giving slop.

    Also, charging money for a "plus" account on a centralized closed-source activitypub implementation is...

    blinking guy gif

    Lastly, it's difficult to reconcile these two statements:

    as a software engineer with over 15 years of experience

    [...]

    the core is closed for anti-abuse reasons

    gif meme with women talking and gesturing, subtitled "that's not how this works! that's not how any of this works!"

  • source
  • parent
  • [–] 14 points 1 day ago (14 children)

    Its strange how hostile people are being. And people are assuming everything is vibecoded at this point.

  • source
  • parent
  • hideshow 14 child comments
  • [–] 4 points 1 day ago* (9 children)

    Even if it was completely vibecoded, who cares? It's another funnel to bring people into the Fediverse. You don't need to use it yourself, just be glad that there's more ways to get people in here. It's a different design with different UX, there's always the chance that this will hook people who didn't enjoy Lemmy/PieFed/Mbin/etc. The more the merrier.

  • source
  • parent
  • hideshow 9 child comments
  • [–] 5 points 1 day ago (8 children)

    Because vibe-coded projects are almost never maintained. Usually they're abandoned after a very short time.

  • source
  • parent
  • hideshow 8 child comments
  • [–] 1 point 15 hours ago (4 children)

    Cite your sources for this claim please.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 13 hours ago (2 children)
  • [–] 1 point 13 hours ago (1 child)

    I’d make the point that most software projects, vibe coded or otherwise, are abandoned. I’ve made a ton of hand coded projects that I just am done with after a while. Vibe coding can increase your total output, but I don’t believe it means the person who created it won’t maintain it.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 11 hours ago

    I don't know if there's empirical data, but at least from personal experience I've noticed a lot of those projects are straight up gone after like a week. Like I'll see it posted in some Lemmy community, and I'll check it again later and the repo just plain doesn't exist any more.

    A lot of others I see were created in a very short time, and then months later there's a dozen open issues and no response from the repo owner.

  • source
  • parent
  • [–] [S] 3 points 1 day ago (3 children)

    I'm in the same position, I mean, I worked really hard to get MVP done, and I'm just a full stack developer, with 15 years of experience in the industry, and they say it's vibecoded because the UI looks well done haha. That's amazing, but in certain way I see it funny to be honest. It feels more like people those haters tried, failed and they have nothing better but attack XD.

    I told one of them, ok, try to create one and see how it goes. An AI cannot do what it has been done here that's why it is so ridiculous when they say it is vibecoded.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 10 points 1 day ago (2 children)

    the ui looks extremely generic, like everything llms spit out. and no, i've not tried to create my own fediverse software. you don't have to be a director to critique a movie.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago (1 child)

    The UI looks generic because it follows modern design patterns. Lemmy would look Generic 10 years ago.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 7 points 1 day ago

    lemmy does look generic. it looks like a generic bootstrap application. but it's generic in a readable way, without the glassy gradients and lighting effects everywhere. it feels like we're back in the dreamweaver days where you had to load a bunch of gifs just to get that cool drop shadow you wanted.

  • source
  • parent
  • [–] 7 points 1 day ago

    For me, some of the paragraphs in this post here sound like llm.

    It is a single instance, not software you can host

    What federates today Every community is a Group actor following the Lemmy model

    1st is the classic "It's not X, it's Y" (or "It's X, not Y" here I suppose). 2nd sounds like a headline AI likes to use, and also fails formatting like it was copy-pasted from llm output.

    There's probably more, I got the impression before those parts. My guess would have been some sections are ai some human. Is this accurate?

    Either way I'd either not do that (use ai text in promotion nor unmarked), or (unfortunate as it is) try to avoid ai tropes.

  • source
  • parent
  • [–] 32 points 1 day ago (4 children)

    if the core is closed for the stated reason, does that mean you are unsure about the safety of the system?

  • source
  • hideshow 4 child comments
  • [–] [S] 6 points 1 day ago (3 children)

    Good question, however the security model doesn't depend on the code being secret, and it shouldn't. The auth, signatures, permissions and input handling are standard and went through an OWASP review before launch.

    What's closed is the anti-abuse layer, spam, rate-limit tuning, the signals for detecting ban evasion and coordinated accounts. Those work partly because spammers don't know the exact numbers. Lemmy's and Mastodon's are public and they get played for exactly that reason. Hope it helps :)

  • source
  • parent
  • hideshow 3 child comments
  • [–] 21 points 1 day ago (3 children)

    Polish law requires the operator of a web service to include the following information on it:

    • Full legal/registered business name
    • Registered address
    • Identification numbers (such as NIP, REGON, or KRS entry for Polish businesses)
    • Direct contact details (email/phone)

    Failing to provide this means your TOS and Privacy Policy are unenforceable.

  • source
  • hideshow 3 child comments
  • [–] 11 points 1 day ago* (2 children)

    Hello from RetroLemmy! Always fun to see a new platform join in

  • source
  • hideshow 2 child comments
  • [–] 17 points 1 day ago (7 children)

    closed source and symmetric blocking. two strikes.

  • source
  • hideshow 7 child comments
  • [–] 9 points 1 day ago (6 children)
  • [–] 10 points 1 day ago (5 children)

    when you are blocked, you can't respond. it's how twitter, Facebook, and new reddit blocking works. it's a great way to stop people from correcting misinformation, since they can't see it when logged in, and couldn't respond even if they could see it.

  • source
  • parent
  • hideshow 5 child comments
  • [–] 5 points 1 day ago (2 children)

    Ah yeah I'm aware of that anti-feature, though I hadn't heard it called that before. Did OP mention that, though? I don't see it in their post.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago (1 child)

    Blocking seems kinda pointless, its just muting if itsnt symmetric

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 1 day ago

    symmetric blocking is too powerful. it lets non-admins/non-mods decide who can comment. straight blocking removes specific users from your experience without giving you a veto on whether they see and can interact with content downstream of you.

    they may not even be responding to you, but a comment of a comment on a post you happen to have made. why should your block be able to stifle that??

  • source
  • parent
  • [–] 7 points 18 hours ago

    Hello world. :)

  • source
  • [–] 32 points 1 day ago (7 children)

    Closed source and clearly completely vibe coded? Just look at the site, it reeks of AI. Even this post has so much AI-speech.

    Yea, no thanks.

  • source
  • hideshow 7 child comments
  • [+] [S] -13 points 1 day ago* (6 children)

    It's a shame you see it this way, Andy Piper disagrees but you're free to think as you wish, it's an open forum :)

    In fact, the UI is purely Tailwind, and the design is based on the best of each platform. I'm sorry if you don't like the Tailwind CSS. But it's the framework I know best. I considered Bootstrap, but honestly, it felt too rigid. Thanks for the comment any way :)

  • source
  • parent
  • hideshow 6 child comments
  • [–] 40 points 1 day ago (4 children)

    who, or what, is "andy piper"?

  • source
  • parent
  • hideshow 4 child comments
  • [–] 37 points 1 day ago (3 children)

    He's watching. Do not speak to andy piper, andy piper speaks to you only if he wishes.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 13 points 1 day ago (2 children)

    I think its funny when someone doesn't disclose it's an ai project they get hella upvotes

  • source
  • hideshow 2 child comments
  • [–] 6 points 1 day ago

    Hello! Good luck!

    It's weird running these things. Why was running a Lemmy or Piefed instance not right for your taste, if I may ask?

  • source
  • [–] 23 points 1 day ago (3 children)

    Please no. Fediverse, open standards, open source, free software, no bullshit.

  • source
  • hideshow 3 child comments
  • [–] 5 points 1 day ago

    Am I right in taking it as sort of a stackexhange alternative?

  • source
  • [–] 5 points 1 day ago (1 child)

    Just popping in to say hi :3

  • source
  • hideshow 1 child comment
  • [–] 5 points 1 day ago

    hi from jlai.lu!

  • source
  • [–] 4 points 1 day ago*

    https://activitypub.space/ run a NodeBB, maybe you can ask to test against them?

  • source
  • [–] 7 points 14 hours ago*

    Epic

    Edit: closed core...

  • source
  • [–] 3 points 1 day ago

    Hi from Fedia.io!

  • source
  • [–] 3 points 1 day ago

    But what if I can't? 😢

  • source
  • [–] 3 points 1 day ago (2 children)
  • Hello from piefed.social! 👋

  • source
  • [–] 3 points 13 hours ago (1 child)

    Lots of people are getting pissed at it being closed source. I get that it isn’t the norm. But, there are closed-source paid software on the Fediverse. This isn’t anything new. Also, there’s ways to disagree and share opinions without being hostile - we are not children here nor teenagers lacking a fully developed brain

  • source
  • hideshow 1 child comment
  • [–] 5 points 11 hours ago

    As a counterpoint, sloppy projects are being shared all over and it's basically spam at this point. Even /r/rust had to disallow code projects, because there was simply way too much slop being posted all the time.

    People share projects because back in the day, a project with hundreds of thousands of lines of code with a cool website and a lot of features were evidence of a lot of hard work, a lot of design decisions and a lot of tradeoffs.

    Vibe coding has made that a bad metric. These things no longer mean that any actual work has been dedicated to this project. Anyone could use an afternoon prompting an agent to build the same thing. There is no value in sharing such a thing. At best, it's worthless and at worst, it's borderline a scam, an attempt at disguising a project as something it isn't.

  • source
  • parent
  • [+] 1 point 1 day ago
    [–] 1 point 1 day ago

    Loud and clear!

  • source
  • [–] 1 point 1 day ago