Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. thinking about how hacking on ircd as a kid was a cope for being unable to be a trans kid (i grew up in oklahoma, in the 90s, the *vocabulary* did not exist, much less any feasible form of support)

thinking about how hacking on ircd as a kid was a cope for being unable to be a trans kid (i grew up in oklahoma, in the 90s, the *vocabulary* did not exist, much less any feasible form of support)

Scheduled Pinned Locked Moved Uncategorized
24 Posts 11 Posters 146 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ariadne@social.treehouse.systemsA ariadne@social.treehouse.systems

    and from there we come to how I started hacking on ircd.

    we wanted to improve the software on our IRC network in order to make it more suitable for our needs.

    first, we ran unrealircd and epona as most naive IRC network operators did at the time. it was great: you could run both on Windows, despite this being a horrid idea for reliability and scalability.

    epona quit being maintained and got forked into anope.

    meanwhile, OPN added a feature to dancer-ircd called +q (quiet lists). you could use these to mute people who were being annoying.

    so i thought "how hard could it be to add this?", despite not knowing a fucking thing about writing code or anything.

    but i toiled and toiled and eventually i hacked this feature into unrealircd.

    but i did it in a really stupid way: unrealircd uses +q for "channel owner" mode, but i wanted it to be like OPN's +q instead. so i renamed unrealircd's +q to +y.

    needless to say that ircd was buggy as hell because i didn't know what the fuck i was doing.

    noisytoot@berkeley.edu.plN This user is from outside of this forum
    noisytoot@berkeley.edu.plN This user is from outside of this forum
    noisytoot@berkeley.edu.pl
    wrote last edited by
    #21
    @ariadne when did +y become +b ~q: (now +b ~quiet:)?
    1 Reply Last reply
    1
    0
    • System shared this topic
    • ariadne@social.treehouse.systemsA ariadne@social.treehouse.systems

      and from there we come to how I started hacking on ircd.

      we wanted to improve the software on our IRC network in order to make it more suitable for our needs.

      first, we ran unrealircd and epona as most naive IRC network operators did at the time. it was great: you could run both on Windows, despite this being a horrid idea for reliability and scalability.

      epona quit being maintained and got forked into anope.

      meanwhile, OPN added a feature to dancer-ircd called +q (quiet lists). you could use these to mute people who were being annoying.

      so i thought "how hard could it be to add this?", despite not knowing a fucking thing about writing code or anything.

      but i toiled and toiled and eventually i hacked this feature into unrealircd.

      but i did it in a really stupid way: unrealircd uses +q for "channel owner" mode, but i wanted it to be like OPN's +q instead. so i renamed unrealircd's +q to +y.

      needless to say that ircd was buggy as hell because i didn't know what the fuck i was doing.

      ariadne@social.treehouse.systemsA This user is from outside of this forum
      ariadne@social.treehouse.systemsA This user is from outside of this forum
      ariadne@social.treehouse.systems
      wrote last edited by
      #22

      so, anywho, the first irc network i started blew up and split into two forks due to my lack of skills to keep it running.

      at the time, it was a body blow, but in retrospect, it makes sense that people were upset that i was shoving unproven ircd patches out there and hoping for the best.

      they just wanted to a place to chill.

      ariadne@social.treehouse.systemsA 1 Reply Last reply
      0
      • ariadne@social.treehouse.systemsA ariadne@social.treehouse.systems

        so, anywho, the first irc network i started blew up and split into two forks due to my lack of skills to keep it running.

        at the time, it was a body blow, but in retrospect, it makes sense that people were upset that i was shoving unproven ircd patches out there and hoping for the best.

        they just wanted to a place to chill.

        ariadne@social.treehouse.systemsA This user is from outside of this forum
        ariadne@social.treehouse.systemsA This user is from outside of this forum
        ariadne@social.treehouse.systems
        wrote last edited by
        #23

        another sidebar: one of the forks went on to create another ircd, from scratch, written in C# called openircd. it used a thread for every connected socket. it was also very unstable and the instability was comical, because it would spam exception logs to all of the connected IRCops.

        elizafox@social.treehouse.systemsE 1 Reply Last reply
        0
        • ariadne@social.treehouse.systemsA ariadne@social.treehouse.systems

          another sidebar: one of the forks went on to create another ircd, from scratch, written in C# called openircd. it used a thread for every connected socket. it was also very unstable and the instability was comical, because it would spam exception logs to all of the connected IRCops.

          elizafox@social.treehouse.systemsE This user is from outside of this forum
          elizafox@social.treehouse.systemsE This user is from outside of this forum
          elizafox@social.treehouse.systems
          wrote last edited by
          #24

          @ariadne the era before async was hilarious 🤣

          I mean that line of thinking predates epoll/kqueue which were still very new and very difficult to reason about, and select/poll sucked ass.

          The thing was that was “the thing to do” back then: use a thread per connection because “concurrency.” Because it was better than forking per connection, and people wanted answers besides select/poll, and I don’t think people got accustomed to async thinking. Especially Windows devs. It doesn’t scale of course.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups