Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. RIFC-light, offline, pseudocode based flow chart generator (github.com/ramathesungod)
    —discuss
  2. I Put 63 Buying Questions to ChatGPT and G2 Was Cited Zero Times (cuescout.com)
    —discuss
  3. Cloudflare: Birthday Week 2026 (cloudflare.com)
    —discuss
  4. How to Tell If Someone Is Cheating on Lichess (chesscheatdetector.com)
    —discuss
  5. Show HN: Jeva.cpp – a llama.cpp fork with JEV-compatible API for all LLMs (github.com/pragmatwice)
    —discuss
  6. Where Trust in Automated Review Comes From (jakelundberg.dev)
    —discuss
  7. Aspiring Firmware Engineer (chrisgammell.com)
    —discuss
  8. Log internet outages and show whether they're on your side or the ISP's (github.com/boazcohenj)
    —discuss
  9. Expert Asterisks (nedbatchelder.com)
    —discuss
  10. Show HN: Decide – Jev decisions in the shell, scripts, and agent skills (github.com/vsekhar)
    —discuss
  11. Analyzing the ClickFix social engineering technique (2025) (microsoft.com)
    —discuss
  12. Galileo's first civil authenticated position fix under spoofing conditions (esa.int)
    —discuss
  13. Dot Plot (Statistics) (wikipedia.org)
    —discuss
  14. Show HN: X402 Inspector (Find misconfigurations in your x402 API) (trango-compute.com)
    —discuss
  15. UK study finds high-mileage electric cars more durable than petrol (electrek.co)
    —discuss
  16. AMD Takes the Lid off of Zen 6 as EPYC 9006 (servethehome.com)
    —discuss
  17. 2026 Small World in Motion Competition (nikonsmallworld.com)
    —discuss
  18. Accountable Algorithms (pennlawreview.com)
    —discuss
  19. Show HN: Senzii – open-source staff scheduling with a native MCP interface (github.com/senzii-app)
    —discuss
  20. The Most Valuable Engineer Isn't Shipping Features – Rails World 2026 Keynote [video] (youtube.com)
    1comments
  21. My time away from tech (2026) (jezhou.com)
    2comments
  22. Tell HN: New Chat Control vote tomorrow
    —discuss
  23. Dstv Installation Glenferness Tech Installations (techinstallations.co.za)
    1comments
  24. Show HN: IngotDB – SQL-based memory for LLM agents (github.com/tjbroodryk)
    1comments
  25. Israel Keeps Expanding into Gaza Despite Cease-Fire, Satellite Images Show (nytimes.com)
    —discuss
  26. "For my birthday, my brother-in-law gave me a 4992-digit hex number" (mathstodon.xyz/robinhouston)
    —discuss
  27. The Homeless Community That Became a Self-Governed Village (nytimes.com)
    1comments
  28. Nvidia Vera SMT Performance Benchmarks Review (phoronix.com)
    —discuss
  29. Generative AI Gives Spacecraft the Autonomy Engineers Once Feared (ieee.org)
    —discuss
  30. I made a site to show good news (readsomethingnice.org)
    2comments

Parley: Federated, decentralised chat that speaks plain IRC

152 pointsby 4h agogit.mills.io
74 comments
4h agoHN ↗

Parley is a chat network with no centre.

Every person (or team) runs a small instance for their own domain. Instances find each other through DNS and well-known identity documents, exchange signed messages over HTTPS, and present the whole federated network to ordinary IRC clients such as Lurker, Mango, mIRC, WeeChat, Textual, etc., without the need of any plugins.

3h agoHN ↗

can any layman user simply use it without running their own instance?

3h agoHN ↗

Yes, you will need to know someone running an instance to create an account for you.

3h agoHN ↗

Yes, you can try it without running your own instance. You will need to use someone else's instance.

2h agoHN ↗

Presumably if the protocol becomes popular you will have public instances that anyone* can sign up to, the same way other federated services work now.

(It's approximately as hard for a layman user to sign up to a Mastodon instance as it is to sign up for X. The fact that most layman users don't do that is a separate issue.)

3h agoHN ↗

If you (top and child commentator) want to try without running your own, please send me an email: david dot collantes at gmail dot com.

2h agoHN ↗

This is an AI-generated summary of TFA?

1h agoHN ↗

It's a copy paste of the readme intro. Don't know why it's left as a comment here

1h agoHN ↗

Hacker News marketing skills tell people to leave a context comment on Hacker News. Don't complain about it too much, that is our way of figuring out who is lazy in an obvious way!

49m agoHN ↗

When someone makes a submission, the text field becomes a comment when the URL field is not empty. (but sometimes not?) It's a poorly designed form that should be redone.

3h agoHN ↗

I quite like this, but it feels like spam could quickly become a concern.

3h agoHN ↗

That is always a concern, yes. You can block users, and entire instances, that spam.

3h agoHN ↗

This is exactly what i was thinking about for the last few weeks (but am too stupid to implement myself).

It’s like email just for IM…

3h agoHN ↗

Many earth rotations ago, I was IMing through an mIRC bot because I refused to install MSN. This kind of reminds me of that too.

2h agoHN ↗

I used Bitlbee until not that many earth rotations ago - it's an IRC daemon that provides bridging of various other chat protocols. It worked way better than you would expect, especially back in the day when you could use XMPP to connect to the various proprietary chat services.

I didn't stop using it until I stopped caring about those chat services.

2h agoHN ↗

These days I run a Matrix home server with bridges to Slack and WhatsApp so I can use fewer chat clients.

I do wish the Matrix client situation was less messy.

2h agoHN ↗

You're in luck: Some people already thought of this, submitted an RFC to the IETF and implemented it. It goes by the name XMPP.

3h agoHN ↗

Both cool and worryingly convenient for the botswarms we've been warned of...

3h agoHN ↗

lol, so XMPP, but instead of XML, it is IRC. Alright, I dig it.

2h agoHN ↗

Instead of TCP+XML it's HTTP+JSON

The IRC is just a front end. Could use any front end

2h agoHN ↗

Interesting. Why not use an open link network? These will result in around the same state. Spam _will_ be an issue here, in general. And with a different backend you're going to struggle to use preexisting tooling to handle it.

Using & channels is fun, I'd be interested to see how many bots and clients fall over dead when faced with that particular bit of IRC history.

2h agoHN ↗

IRC linking is a mess, in part due to the spanning tree requirement. Also the server to server protocol in the RFC is spoken by zero servers so you have to pick which unofficial protocol you like best. May as well invent your own that actually fits your use case.

1h agoHN ↗

Except that now there's yet another standard, which nothing but this thing speaks. TS6 is very well used at the moment as everything in the Charybdis line speaks it, etc.

1h agoHN ↗

Cool. I did something like that so agents and people could communicate with a Jira instance using Websocket-aware IRC and a browser-based client based on superchat.

Put the issue context in a #channel and invite external parties/entities, bring the results back to the work.

I have tested it but the complexity didn't justify the results in my experiment. I couldn't get it accepted into Atlassian Marketplace, either.

2h agoHN ↗

I had a pseudo-plan for something like this but for reasons related to privacy I had two types of chatrooms:

* regular chats, existing only on the server, no leaking the chat transcript except via users, but never via server to server.

* chambers: a global chatroom, located at a server, maybe with a MQTT anyone could subscribe to.

This never left the early planning stages though, but I thought the segregation between federated chatrooms and regular chatrooms was of interest to keep in sync with IRC open but closed nature of chats.

2h agoHN ↗

That seems to be similar on this one. &room is local, while #room is federated.

59m agoHN ↗

Did not see that. Thanks for pointing that out! Will re-read the page.

2h agoHN ↗

I recall this bait and switch. It was called Slack

1h agoHN ↗

Slack is pretty centralized, and also closed. You can't self-host at all.

Slack is a *different* bait and switch.

13m agoHN ↗

Different use case no? I thought slack was enterprise focused from day one.

2h agoHN ↗

So rooms are "global" between whatever hosts your host happens to know about? So it's one giant netsplit party forever and only your server admin can ban someone?

1h agoHN ↗

Bans are per server (for what I have seeing). Federated rooms continue to exist if a server drops off, as no server "owns" them.

1h agoHN ↗

Federated rooms continue to exist if a server drops off

That doesn't answer the question.

How are you resolving things like... user name collisions when the servers reconnect?

1h agoHN ↗

I am not the owner of the project, I just use it. Federated rooms have no owners, there will be no collisions (they would simply merge). Nicks are tied to their own servers, and hence unique and will not collide.

34m agoHN ↗

This has been an issue for as long as IRC itself has existed. There are solutions to resolve such "netsplits" and "netjoins", but they all rely on the servers in the network being trusted and not malicious.

With Parley, where anyone can bring their own instance, and they are not guaranteed to not to be malicious, that could be an interesting issue to solve.

2h agoHN ↗

There’s a specific downside to LLM-based development that people can get neck deep in a new project without interfacing with the existing work in the field.

In this case, this is basically a poorly specified implementation of half of XMPP. Of course, I half expect the LLM would have mentioned that at some point, but the repository does not.

1h agoHN ↗

I've done this a few times. If I had to gesture at the root cause I'd say: LLMs lack curiosity and are trained to complete assignments, not to question their validity, so both the research phase and the questioning of intent tend to get short shrift prior to building anything.

1h agoHN ↗

Agreed, you have to ask them to look for prior work. But then they will do a good job finding it in most cases. I think it’s partly their universal tunnel vision and partly sycophancy.

1h agoHN ↗

I'm not sure I agree. Seems to me to depend a lot on how one interacts with an LLM.

If you tell it to "build me an application X to do Y using programming language Z", it will comply.

If you interactively ask "I need X, can you suggest some options? use an existing product ? or build something using a library ? or build entirely myself ? can you suggest alternatives with pro's and con's ? Anything I should think of before deciding ?" then you will get an entirely different answer.

Maybe we need additional modes, aside from thinking mode, agentic mode etc. we need e.g. "sparring mode" ? or does such a thing already exist ?

28m agoHN ↗

Matt Pocock's skills library includes "grill-me" which is precisely this. It's excellent.

1h agoHN ↗

That is currently still the differentiator between people producing code and shipping something and people who care and actually have years of experience shipping. At the current state how well you steer the LLM and which questions you ask still matters, maybe in the future "build me an app" will give amazing results, but right now you still need to know what you are doing.

In this case, it's just a waste of tokens as something not very unique was generated that doesn't have a real use case, or solves anyone's problem. As with many AI generated projects, I'm willing to bet that OP themselves will not using it any more in a month.

1h agoHN ↗

You guys are way too critical and about the wrong things. "Waste of tokens"? Perhaps the author know of the tradeoffs and just wanted to build something.

How you went from seeing somebody's post to deciding they don't care is a pretty big jump, one that isn't warranted. This kind of post seems like the old but now more elaborated form of hating on something that you don't even know what it is.

It just isn't fair to the work that has been put in.

13m agoHN ↗

I agree. This is one thing that's gotten me about the new wave of poo-pooing projects made since coding agents have gotten big. Five years ago it was 'just build something!'. I understand the market is more saturated now so building something isn't as valuable as it used to be, but it still shouldn't be treated as a negative. I don't know anything about the creator's background, but even if this project is ultimately redundant and unnecessary, it's still pretty cool that they built something.

31m agoHN ↗

If telling people “build me an app” with no knowledge of technology worked, project managers would be good at their jobs already

1h agoHN ↗

or maybe they know about XMPP and prefer IRC. I have always wanted to build one of these on top of IRC. I grew up on IRC and sometimes just the nostalgia of familiar tech is what drives us to build towards it not how good it is.

1h agoHN ↗

That’s where we’d expect a mention in the README to play a part.

1h agoHN ↗

XMPP is massively bloated protocol that is badly managed for last 2 decades

22m agoHN ↗

And what are you suggesting as a non-bloated and better managed alternative? :)

1h agoHN ↗

Unfortunately XMPP is an absolutely terrible protocol. IRC's not much good either, but at least it has the excuse of being ancient and limited in what it wanted to achieve.

I don't know how it just happens that sending text messages to people can manage to result in specs that are painful to implement.

15m agoHN ↗

Unfortunately XMPP is an absolutely terrible protocol

Can you provide more details here? I've never seen an issue with the protocol at all, more issues with feature difference between servers depending on what they have decided to implement or not.

12m agoHN ↗

Most times I've seen complaints about it, it boils down to "XML being yucky" and the extension component model being difficult to write clients for, which is true but not really a fault of the protocol, it's more of an inherent tradeoff of supporting opt-in extensions at all

8m agoHN ↗

Other people provided some info:

https://news.ycombinator.com/item?id=9772968

https://news.ycombinator.com/item?id=31133082 (article and discussion)

But TL;DR:

* It's hard to even parse, XMPP uses an uninterrupted XML stream. * The contents are often baroque and complex * Standards are a mess, and stuff that should be in core isn't * Data loss is possible * Protocol wasn't made for mobile devices * Multiple devices are terribly supported * Data loss is possible

From my attempts long ago, and other testimonials, writing an XMPP client is a full time job of solving weird problems that shouldn't exist in something better designed.

13m agoHN ↗

I once implemented the presence and basic messaging functionality of XMPP for a web site, using a braindead bridge (that I also wrote; so, the meaningful logic lived in the browser).

Considering I'd never hosted an XMPP daemon and didn't know anything about the protocol (I'd used XMPP clients a little bit, but had never looked at the protocol) and got a server (that part, I didn't write), an auth connector for our website's authentication system (so the daemon would authenticate against that instead), prod-ready and the features I wanted all working smoothly and reliably in maybe three weeks of very part-time work (this'd be, like, 3-4 part-time days with LLMs now, tops, from the same starting point)... seems decent to me? I mean I did direct work with the protocol, didn't just glue together libraries, and it was pretty damn good. Also (and I know browsers seem to be retreating on this front, which sucks) being XML made it very nice to work with in a Web context, since you can just ask the browser to turn ~any XML into a DOM for you, and get a bunch of functionality for free.

What's wrong with it?

25m agoHN ↗

LLMs could be asked to research extra projects.

It's valid that someone just wanted to build something like this for their own purposes.

21m agoHN ↗

But it's not just for their own purposes. They shared it with the public which means they will get feedback, good and bad. No one forced them to post to HN.

5m agoHN ↗

Agreed, and the vast majority of personal projects that are released as open source don't get attention, traction, or contributions.

In this case, someone shipped something that works for their use case, which is a great deal more than talking.

1h agoHN ↗

The connection to git.mills.io was interrupted while the page was loading.

1h agoHN ↗

Sorry, I am sure it is the HN effect.

1h agoHN ↗

Instead of a separate federated network for a single app, why not implement the app on top of a pre-existing federated network, so that nobody has to create yet another account? Like, on top of atproto or activitypods or...?

1h agoHN ↗

Besides not having C runtime linked (which is great for scratch/distroless Docker images) - any other advantage of using a pure Go SQLite instead of the C binding?

1h agoHN ↗

is there a list of public instances one could join somewhere? I kind of want to dip into irc again. it was peaceful.

53m agoHN ↗

The idea (what's encouraged) is that's so simple you can run it yourself. If you email me (email on profile), I can create an account for you on mine.

1h agoHN ↗

How do you plan to handle bad actors creating biblical amounts of servers dynamically and then spamming at line rate from all of those servers?

1h agoHN ↗

This is why we can no longer have nice things...

17m agoHN ↗

You can link servers (Libera, for example, has many), but they are not federated, nor decentralised.