Read the irc++ paper that I gave at

Mail liam at for more info; include irc++ in the subject line.

Background Documentation

Mesh-Based Content Routing using XML
Used to prototype an air traffic control network; this is the most promising reference I have seen so far.

Engineering Distributed Objects, Wolfgang Emmerich, Wiley, 2000
This is a hardback (I paid $46Cad, about $45 US); if anyone finds a better reference that's online, let me know.

Twisted Matrix
a Python library for networking, including IRC support

XML Blaster
Infrastructure for peer-to-peer networking with XML.

The Chord project aims to build scalable, robust distributed systems using peer-to-peer ideas. The basis for much of our work is the Chord distributed hash lookup primitive. Chord is completely decentralized and symmetric, and can find data using only log(N) messages, where N is the number of nodes in the system. Chord's lookup mechanism is provably robust in the face of frequent node failures and re-joins.

IRIS: Infrastructure for Resilient Internet Systems
The IRIS project is developing a novel decentralized infrastructure, based on distributed hash tables (DHTs), that will enable a new generation of large-scale distributed applications. DHTs are robust in the face of failures, attacks and unexpectedly high loads. They are scalable, achieving large system sizes without incurring undue overhead. They are self-configuring, automatically incorporating new nodes without manual intervention or oversight. They provide a simple and flexible interface and are simultaneously usable by many applications. Not a typo, it's a way of distributing athentication.

The Semantic Web, a new and exciting W3C initiative; there are links at the W3C and Joshua Allen of Microsoft has a brief introductory paper Making a Semantic Web.

An IRC to other chat networks gateway

Anonymous p2p routing
by Rupert Scammell

The W3C has a working group on XML Protocols; I'd far rather use this than CORBA, because it lowers the entry point: it's much easier for people to write clients. One reason there are so many IRC clients is that the protocol uses a plain ASCII stream, and you can use telnet to experiemnt. If today's ASCII stream is becoming XML, today's CORBA is becomng XML Protocol, and simlicity is one of the reasons.

Gnutella and Distributed Protocols
Jordan Ritter on why Gnutella can't scale
This article has quite a few useful links. The calculation of total bandwidth is interesting, but it's not clear to me that the huge traffic mentioned all has to go through the same pipe at any point. The bandwidth usage on my home ADSL line doesn't have to affect yours unless we share the same ISP.

PIK, an open source book about public key infrastructure.

This Advogoto thread has some useful links and discussion.

E, forwarded by Darius Bacon.

Other projects

Various IRC-related links