Learn Docker With My Newest Course

Dive into Docker takes you from "What is Docker?" to confidently applying Docker to your own projects. It's packed with best practices and examples. Start Learning Docker →

Ancient Babylonians May Have Invented IRC 2,000+ Years Ago

blog/cards/city-of-babylon-citizens-may-have-invented-irc-2000-years-ago.jpg

Ancient civilizations were using forms of IRC to communicate ideas and solve problems. Learn why IRC is great for programmers today.

Quick Jump: What Does This Have to Do With IRC? | What is IRC?

With tax season rearing its ugly head, I had a sudden urge to look into additional ways to invest some of my income. No one likes losing money to the tax man, so the next best thing is to earn more of it.

One of my goals this year is to get a better understanding of how money works. Sure, we all know the basics but there’s so much more to it than “income > expenses”.

A friend of mine recommended that I read a book called The Richest Man In Babylon. It’s well known for being one of the best books on the topics of learning how to grow wealth and avoid debt. It’s very story driven, which makes it a joy to read.

I never really had a problem with debt (I don’t even own a credit card), but I know I’m doing a lackluster job at managing the money side of business.

The book was published in 1926 and it’s filled with great stories during a time era when the city of Babylon flourished. The book is not based on pure facts but it reads very much like it’s inspired by what life was like back then.

WARNING:
The book was so good that I ended up staying up until 3am and read it from cover to cover.

What Does This Have to Do With IRC?

There was this most excellent story in the book about how the city of Babylon had a place called The Temple of Learning.

Here’s how The Temple of Learning was introduced in the book:

In that distant past, they [Babylonians] had no schools or colleges. Nevertheless they had a center of learning and a very practical one it was. Among the towered buildings in Babylon was one that ranked in importance with the Palace of the King, the Hanging Gardens and the temples of the Gods.

You will find scant mention of it in the history books, more likely no mention at all, yet it exerted a powerful influence upon the thought of that time.

This building was the Temple of Learning where the wisdom of the past was expounded by voluntary teachers and where subjects of popular interest were discussed in open forums. Within its walls all men met as equals. The humblest of slaves could dispute with impunity the opinions of a prince of the royal house.

I like to think it existed in some way or another, but as I was reading the above, all I could think of was “damn, this guy is describing IRC but in real life”.

What is IRC?

In case you’re not hip to the term “IRC”, it stands for Internet Relay Chat, and it was first introduced to the world in 1988. You can think of it as a network of chat rooms that also supports private messages, file transfers and more.

It is a type of server / client protocol that lets you connect to an IRC server with a client (an app or web browser) and then join 0 or more “channels”. Inside of these channels, you may find 0, dozens or even thousands of like minded people.

I started using it around 1997 and I still use it today, about 20 years later. Being on IRC is the single best decision I’ve ever made as a software developer (more on that later).

What Makes IRC Like the Temple of Learning?

In The Temple of Learning, you would walk into a grand hall and then find a group of people to speak with. Then you would all discuss something related to what everyone wants to talk about.

IRC is the same way. You would join a channel about a specific topic and discuss it with many other people. The real time feedback is much better than a mailing list or message board.

Is IRC Dead?

Some people say that tools like Slack are killing IRC, but that’s complete horse shit. Right now I’m sitting on IRC on a Sunday morning at 9am EST and there’s:

  • 805 people in the #docker channel
  • 550 people in the #elixir-lang channel
  • 375 people in the #pallets (Flask) channel
  • 450 people in the #RubyOnRails channel

This is only on a single IRC network called Libera Chat, and currently there’s 45,281 people on the Libera network in thousands of other channels. There’s dozens of other networks with hundreds of thousands of users from around the world.

By the way, Libera Chat is considered “the spot” for software developers. You can almost think of it as GitHub but for chatting. It has nothing to do with version control or any association to GitHub but the community clearly agreed that GitHub is the place to go for sharing code, and the community also agreed Libera Chat is the place to talk about software development topics.

Update in May 2021: Some really bad things happened with Freenode (another IRC network) which resulted in almost everyone (myself included) moving from Freenode to Libera Chat. This article used to recommend using Freenode but not anymore.

I don’t want to get into the drama here but you can Google around for Freenode vs Libera drama and find lots of coverage. The end game result is pretty much all major tech channels and users have moved over to Libera which is IMO the main takeaway.

What Makes IRC So Good for Software Developers?

Where else are you going to find thousands of like minded people packed together and eager to discuss the technologies you love?

You’ll find channels on anything you can think of. Every major web framework has thriving channels but you can also find channels for things like PostgreSQL, nginx or whatever tech project you’re interested in.

IRC is a great place to not only find friends, but to get real time help on things that you are stuck on. I’ve lost track of how many times I’ve asked questions on IRC and then received superb answers by 1 or more people. Often times, by the creator of the project himself (or herself).

I’ve answered thousands of questions too. They say teaching is the best way to learn, and that’s so true. Being on IRC is like being on the fast track to learning because you’re exposed to so many different problems in so many different contexts, while being described by so many people at different skill levels.

It’s so much better than sites like StackOverflow for when you need help with a problem or just have general questions about a certain piece of technology. There’s no fancy badges but if you ask me, I’d rather have a question answered in 30 seconds instead of some SO nerd on a power trip insta locking my question because 4 years ago someone happened to ask a remotely similar question.

Also, the ability to mingle with people who are just as interested as you are about something is special. I’ve met people 15 years ago on IRC who ended up being some of my best friends. If you’re looking to start a successful freelance business as a software developer, it’s also a great place to network.

How to Get Started on IRC

The lowest barrier to entry would be to use Libera’s web client which can be located at https://web.libera.chat/ but if you plan to really use IRC I wouldn’t recommend that.

You might as well get a real IRC client and run it all the time. If you thought the holy wars between code editors was brutal, you haven’t seen anything yet.

Everyone has their own opinion on IRC clients. I’ve used a bunch over the years and for the last 3ish years I’ve been happily using HexChat. It’s open source and runs great on Windows and Linux.

It used to be supported on MacOS but not anymore. For MacOS you may want to try LimeChat or Colloquy.

If instead, you’re a hardcore terminal junkie, then I recommend WeeChat. I’ve used it for a while and personally I think it’s the best terminal based IRC client out there. It also happens to run on all major platforms.

Ready to Start Using IRC?

So that sums things up. Really, I encourage you to try IRC. To get started you should Google for the channel you want to join. For example “NodeJS IRC channel” should tell you where to go.

If you want to contact me on IRC just run this command in your IRC client: /msg nickjj hey I read your blog post, here I am or whatever message you feel like saying. The important bit is my name on Libera Chat is nickjj. I may not reply quickly because I always keep IRC open (even if I’m not at my computer) but I will get back to you at some point.

If you’re already an IRC user, let me know in the comments by sharing your IRC stories.

Never Miss a Tip, Trick or Tutorial

Like you, I'm super protective of my inbox, so don't worry about getting spammed. You can expect a few emails per month (at most), and you can 1-click unsubscribe at any time. See what else you'll get too.



Comments