Hacker News new | ask | show | jobs
by dijit 2392 days ago
Every day,

It's become a social network of sorts for geeks, despite the age of the protocol I still find it the least "invasive" and most friendly experience, but that's probably because I spent the time configuring a client that's nice for me. (preview: http://imgs.fyi/img/9ve2.png )

I run a network even, called darkscience and it's available at irc.darkscience.net (TLS only on port 6697) the lobby is #darkscience

ircs://irc.darkscience.net:6697/#darkscience (for those that can parse the url!).

Everyone here is welcome to join us of course, but we put a high emphasis on civility.

10 comments

What I like is that the clients were written years ago and weigh almost nothing. I can leave them running in the background on even the wimpiest trash netbook and it doesn't care.

Compare to Slack or Signal or Discord where the client is some half a gig chomping behemoth that spins up the CPU fans constantly.

I thought I was the only crazy person that hates anything that spins up a fan on my laptop. Why Java sets of fans when I spin up anything (even an empty spring project) in my IDE I just don’t understand. Even IntelliJ and eclipse with no project loaded seem to set off the fan.
Personally; I can forgive an IDE, depending on what I'm doing (just viewing source shouldn't be spinning my fans).

But debugging, deep code inspection and so on are complex features used by specialists.

Slack is designed to be used by everyone; thus I don't give it as much of a pass. Because if everyone in my company is using a CPU core and 1GiB of memory to just talk to people then that's a very high actual cost of resources.

Just like you can forgive specialist software in other areas (final cut, photoshop, CAD) taking significant resources.

Tools designed to be used by everyone should be lean, optimised and feature complete. In my opinion.

You're not crazy. I feel the same. Similarly, I was beginning to think that I was crazy.... As another pointed out, I give a pass to heavy applications like my IDE.... but when my shopping-list app is using a Gig of memory and spinning up my fans, then I want to gouge my eyes out in disgust.
Yes, and lots of data fit into 80x24 xterm vs 1280x1024 Discord. Crazy that I need an entire workspace per Electron apps. I have no idea what goes in on the developers' mind when it comes to unnecessary padding/spacing.
You're the reason I joined DarkScience sometime back, event wound up paying for IRCCloud which I can't recommend enough for those who want to just have a "slack like" experience. They open source some of their solutions too.

DarkScience is a good community, I'm not very active, I lurk a bit, but these days my social network is all on Discord. I've ran my own independent IRCd before using ngircd and it was great for my small community, but now that they're just all on Discord, it's kind of pointless for me to run a daemon.

I do dream of hosting an IRCd again if Discord ever goes too far. We do talk about reverse engineering and such so we are kind of at their mercy. I think the one thing IRC is missing is a solid client for those of us who like desktop / mobile clients. There's no reason an IRC client can't preview images and render youtube videos like Slack does, at least for those of us who like that kind of thing, I know some IRC users like their terminal clients.

I'm interested in hearing more about how you've configured your client, do you have a repo or anything? Have you included plugins or add-ins from outside sources?

Edit: Just saw your other comment, I'll check out your setup later this week!

I find that what I want out of a chat client is something that can easily idle in the background and beep at me if someone @'s my username, with a way to handle missed messages, but I've never really gotten irssi setup in a way that feels comfortable for that kind of flow. Something about the way IRC works seems to encourage me to just hop on if I have a question for a community, and then hop off when I'm done to avoid people trying to follow up with me while I'm not there. It's hard for me to imagine what the IRC experience looks like for the people who hang out there seemingly semi-permanently

I think this is a fair ask, unfortunately I made my setup for me and it's not exactly designed to be packaged/reused, but I linked my configs (in tarball format) here: https://0x0.st/zl_O.tbz2

What you're requesting is actually the normal way most of the people I talk to use IRC. I have a highlight buffer[0] script which keeps a history of all the times I get mentioned, and weechat supports libnotify so if your desktop is able to get pop-ups then you will be notified on highlight. (I use dunst for this).

There are also Quake-like terminal emulators that drop down on hotkey- these are also quite common and can make it really easy to just check what's going on when you have a spare second.

I will write a blog post about how to achieve my setup for linux users since there seems to have been mild interest. And I'll do some work on packaging it up so it's easy to take the bits that people like. I am using a fair number of plugins though.

this is what I have loaded (they are all on the weechat scripts site, just google the filename and "weechat):

  perl/autoload/:
  bashorg.pl@  colorize_lines.pl@  notify_send.pl@  sysinfo.pl@
  beep.pl      highmon.pl@         perlexec.pl@     volumeter.pl

  python/autoload/:
  autosort.py@   colorize_nicks.py@  fullwidth.py@  otr.py@      ws_replace.py@  zncplayback.py@
  bandwidth.py@  edit.py             go.py@         urlgrab.py@  xfer_setip.py@
  chanop.py@     emoji2alias.py@     ichatts.py@    vimode.py@   zncnotice.py@

  ruby/autoload/:
  mpdspam.rb@

[0]: https://weechat.org/scripts/source/highmon.pl.html/
Thanks for all the detailed info! I'll probably save it to look at in a couple of weeks when I'm going on a work trip and planning to redo a bunch of my configurations.

Where can I check for your blog post (assuming you decide to put one up)?

That looks quite nice! If you're using irssi would you be willing to share your colors / setup?
not irssi but I use ERC (an IRC client in Emacs) with a modified version of https://www.emacswiki.org/emacs/ErcHighlightNicknames to automatically color nicknames (it takes the first 12 characters of the md5 of each nick and treats that as an RGB value, with some clamping and color space tweaks). Everybody has a perceptibly different color, even in channels with tons of people.
It's weechat, I can't really claim all the credit, I found blog posts online about minimal setups and I've just kept it up to date. Nothing special.

Since I don't know how to easily package it I just took a tar of my .weechat and .config/alacritty directories, which should at least help you get started if you want an identical setup to mine. You just need to change your username in .weechat/irc.conf

https://0x0.st/zl_O.tbz2

Seconded!
I extracted a few color codes and this looks alright.

XFC4-Terminal Config

  ColorPalette=rgb(0,0,0);rgb(234,57,145);rgb(85,183,8);rgb(192,132,1);rgb(66,158,224);rgb(157,101,214);rgb(7,139,139);rgb(208,208,208);rgb(128,128,128);rgb(255,95,175);rgb(175,215,0);rgb(255,175,0);rgb(143,180,255);rgb(175,135,215);rgb(0,175,175);rgb(255,255,255)
RGB

  0,0,0
  234,57,145
  85,183,8
  192,132,1
  66,158,224
  157,101,214
  7,139,139
  208,208,208
  128,128,128
  255,95,175
  175,215,0
  255,175,0
  143,180,255
  175,135,215
  0,175,175
  255,255,255

Hex Variant:

  #000000
  #EA3991
  #55B708
  #C08401
  #429EE0
  #9D65D6
  #078B8B
  #D0D0D0
  #808080
  #FF5FAF
  #AFD700
  #FFAF00
  #8FB4FF
  #AF87D7
  #00AFAF
  #FFFFFF
I never heard of darkscience before, so I will definitely check it out.

I seem to use IRC in irregular bouts, like half a year consecutively and then not at all for a year.

Is there a popular IRC plugin / protocol for pretty printed math formulas? This is also what I miss a lot on HN, but I understand it's due to a more programming centric audience. I wish either HN had math formulas, or a fork of HN directed toward scientists / engineers / mathematicians allowed it.

Please do share your irc client config if possible :)
The client config is a little unweildly unfortunately due to the nature of weechat; but all the config is here if you want to read it;

https://0x0.st/zl_O.tbz2

Nice to see SSL enforced ircd. Coming out of Dalnet, Ircnet and Efnet the only short-coming i really found in IRC was the fact that most networks until very late promoted clear-text transfers. I might even pass by your network this evening to revive that feeling /me once had :)
I totally like this, is it hexchat ? If yes I'd really like to have your theme configs please :)
That's how it looks like to not read the comments, thanks for posting this.
I wonder where you host it? Every other hosting provider does not allow IRC servers, what a shame.
I've not run into too many issues with IRC servers being blocked, but nothing is going to block IRC over SSL running on a non-standard port anyways.
I've never run across a VPS or dedicated server provider that blocked inbound IRC. What providers prevented you from running an ircd?
Even if it's not blocked it is discouraged or against ToS for a fair number of places (including our current provider, tilaa). However I asked specifically for an exemption because we've been around for nearly 20 years at this point.

Most cloud providers (GCE, AWS, Azure) don't seem to mind though.

This was a long time ago (7-10 years), but 1and1, Hetzner, OVH, HostGator, LiquidWeb did not allow IRC hosting. They were the cheapest, tbf. I only use Linode now, haven't looked into it.
Ah. Of those, I've used Linode and OVH. Neither ever gave me grief for having IRC, but I also ensured that I never had botnets connecting to me, which is what most of them don't like dealing with. I've never tried 1and1, Hetzner (ive heard good things about them), HostGator or Liquidweb.

I am certain that Linode won't give you any grief as long as you make some effort to keep botnets from abusing your service.

>I never had botnets connecting to me, which is what most of them don't like dealing with.

It’s the DDoS attacks they didn’t like dealing with, but I suppose that’s one way of describing it.

Yeah both really. The botnets usually act as C&C for tools that create outbound DDoS attacks and exfil user data. They also create jump-off proxy points to mask their location. IRC is a very handy way to control large numbers of attack bots.
I think they might no longer do this but for many years Linode's Atlanta location blocked access to IRC-specific ports, I believe because of a specific policy by their Atlanta datacenter.
Linode Employee here:

I've personally checked with our Network Operations team, and ran a test with a teammate. We do not currently block IRC ports.

Hi there! Disclaimer - Linode employee here.

I can't speak for the other services, but we have a very active IRC channel. I run my IRC instance off of a Linode I created just for that purpose.

> I still find it the least "invasive"

Doesn't it just broadcast your IP address pretty plainly?

Many of the IRC networks offer a "cloak" if you register your nickname, and of course it's trivial to connect via a VPN or via Tor (if your network allows it).
Side-note on the cloak: You'll want to make sure you're identified before you join any channels, or everyone will still see your IP. The best way to do this on networks that support it is to use SASL.
There are vanity vhosts and there are cloaks.

Cloaks apply uniformally but will not mask the last bit of your reversed hostname. So it might leak info about your ISP or region but not your full IP.

What you stated is true of vanity vhosts though. Which will mask the whole record only if you’re logged in. :)

I think this is a split in terminology, actually.

IRCds such as InspIRCd and UnrealIRCd speak of cloaks in the sense of user mode +x, commonly set on connection, which scrambles an incoming user's hostname/IP address to e.g. hidden-5npgt1.iinet.net.au or hidden-qjia2j.ncp0.j4h4.014d.2804.IP.

Freenode, nota bene the largest IRC network right now, uses cloaks to instead refers to a special format of vHost[1]. It does not offer Unreal-style cloaking.

I imagine this difference in terminology is what's prompted this exchange.

[1] https://freenode.net/kb/answer/cloaks

Back in the days I had to pay extra for a bnc/bouncer service (similar to a proxy), now most IRC networks offer vhost automatically, but I assume it's a bit less secured since the IRC networks themselves still know your real IP address.
Who really cares in this day if anyone knows your IP? It's not like that many of us are running servers from our home connection and thus vulnerable in some particularly pointed way. Behind a NAT you're pretty much fine unless some nation-state is out to get you.
You haven't used IRC much, have you? Maybe it's become a more civil place, but years ago exploits and DOS attacks over some stupid dispute were common.
Sadly, I'd argue that broadcasting your IP is the least invasive of the options available today.
It depends, most require you to register first before your IP is hidden, just like Wikipedia. In both cases, it's so the mods at least have some kind of tools to (hopefully) identify who a person is.
Nah most irc networks masquerade the client ip in the whois to prevent ddos.
Setup something like ZNC