Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Parley: Federated, decentralised chat that speaks plain IRC (mills.io)
    42comments
  2. AI companies in race to demonstrate their model most threatening to humanity (thecivilian.co.nz)
    147comments
  3. Show HN: Hntui – A TUI for Hacker News (github.com/ahmd-sh)
    7comments
  4. 37,500 border drawings: a map of the world as people remember it (habibicode.org)
    19comments
  5. Footguns with Postgres "at time zone 'UTC'" (bookofrevenue.com)
    41comments
  6. Owed a billion dollars in Nvidia stock (colo.to)
    354comments
  7. SpaceX's Starship launching to orbit for first time ever today (space.com)
    58comments
  8. Ember-1 (fireworks.ai)
    226comments
  9. Thinking fast and slow in AI: The role of metacognition (2021) (arxiv.org)
    45comments
  10. When did Google get so weird? (sancho.bearblog.dev)
    779comments
  11. Nissan's third generation e-POWER powertrain (nissan-global.com)
    150comments
  12. Self-Hosting on the Dark Web (alvarezrosa.com)
    95comments
  13. Malleable software: Restoring user agency in a world of locked-down apps (2025) (inkandswitch.com)
    55comments
  14. Functional Mechanical Sympathy [video] (youtube.com)
    7comments
  15. Guitar amp and effects pedal built on the Waveshare ESP32-S3-Touch-AMOLED-2.06 (github.com/dashersw)
    56comments
  16. Alan Kay's answer to “Did the ENIAC have a BIOS”? (quora.com)
    43comments
  17. Made by Mechanical Means (felixrieseberg.com)
    13comments
  18. Show HN: PaperMono, e-ink fridge magnet shopping list with mobile web page (github.com/seamusc)
    1comments
  19. The smart home graveyard is getting crowded (theverge.com)
    18comments
  20. Lunar Terminator Paradox (secretsauce.net)
    60comments
  21. Prompting Claude Opus 5.5 (claude.com)
    155comments
  22. Don't couple your Go code to GitHub (iain.rocks)
    133comments
  23. The state of SIMD in Rust in 2026 (shnatsel.github.io)
    43comments
  24. Show HN: Lofi Cities – Pixel-art city nights with browser-generated lofi (loficities.com)
    114comments
  25. In an $80 motel room, a discovery to shed light on the origins of life (nytimes.com)
    97comments
  26. Deterministic Concurrency [video] (youtube.com)
    5comments
  27. Three Days in August: What a DDoS Attack Exposed in Our Network (nine.ch)
    8comments
  28. Reading’s Bayeux Tapestry (diamondgeezer.blogspot.com)
    22comments
  29. Imp is a full port of DSPy to the BEAM (github.com/deepfates)
    7comments
  30. What I did at Recurse Center (thill.me)
    38comments

Parley: Federated, decentralised chat that speaks plain IRC

119 pointsby 2h agogit.mills.io
42 comments
2h 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.

2h agoHN ↗

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

2h agoHN ↗

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

2h agoHN ↗

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

1h 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.)

2h 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.

1h agoHN ↗

This is an AI-generated summary of TFA?

27m agoHN ↗

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

2h agoHN ↗

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

1h agoHN ↗

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

2h 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…

1h 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.

1h 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.

1h 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.

1h 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.

1h agoHN ↗

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

1h agoHN ↗

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

50m agoHN ↗

Instead of TCP+XML it's HTTP+JSON

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

1h 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.

1h 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.

1m 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.

1h 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.

1h agoHN ↗

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

1h agoHN ↗

I recall this bait and switch. It was called Slack

33m agoHN ↗

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

Slack is a *different* bait and switch.

52m 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?

42m 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.

17m 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?

50m 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.

22m 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.

19m 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.

12m 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.

42m agoHN ↗

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

30m 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...?

11m 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?

5m agoHN ↗

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