018a04bb4460b0a8f815aa3d7f5e7b28168c61ca — Kalyan Sriram 2 years ago 93ae1a6
draft on irc
1 files changed, 11 insertions(+), 0 deletions(-)

A content/blog/irc-by-hand.md
A content/blog/irc-by-hand.md => content/blog/irc-by-hand.md +11 -0
@@ 0,0 1,11 @@
title: "Irc by hand"
date: 2022-03-01T16:06:57-08:00
draft: true

Recently, I've been trying to learn more about how the IRC protocol actually works. The plan is to try to create an IRCv3 client for Android, but we'll see how that goes. As a sanity check, I've been connecting to IRC "manually" over a socket, writing out IRC commands instead of using a client. It's surprisingly easy! Let's see how this works.

I've set up a local instance of the [ergo](https://ergo.chat) server to practice commands on. Ergo is a pretty cool Golang based IRC server that supports all the bleeding edge IRCv3 extensions, which makes it a good IRCv3 reference implementation to test again. However, we're not going to be using any of those extensions in today's walkthrough. You can quickly setup an instance of ergo through docker.