Discord : an internet cancer
Preamble
Before I start writing this article, I just want to clarify that I will NOT go over the technical aspect of Discord (such as the spyware and all) as it has been covered many times by other websites like This one !!!, but basically, it’s exactly how you expect it to be, spying, selling data, monitoring open processes, terrible electron based app….etc
I also wanted to make it clear that this is PURELY from my personal experience with Discord and the Internet as a whole, this isn’t an exact science and everybody can have an - although similar - different experience with the platform. Peace and love <3
Chapter one : Curiosity
Picture yourself, it’s 2018/2019 and you are playing your favorite game, be it Minecraft, League of Legends, CS:GO, doesn’t matter. You start to play nicely, you make some friends, some enemies, typical gameplay. And then, one of them decides to take a step closer into your life, so they invite you to this cool new platform you have never heard about, Discord. Upon checking, you notice it’s a modern chat application for gamers…. “huh, must be nice” you might say. And then you are faced with a choice, you either create an account, or you don’t.
If you decide to NOT make an account, you would be made fun of by that friend, or even get blamed for loses because “you weren’t in the voice chat”, you will be called a “Skype user”, probably miss out on events, giveaways, exclusive prizes and sometimes even get banned from that game server (Yeah, it happened on Minecraft before, failure to join the discord server actually rejects you from the Minecraft server). And even if we take a more…casual example, you found a cool piece of software online, but their guides and download links are all on Discord, or Discord exclusive, maybe you want to work with a team that solely use Discord. Basically you are missing out on a LOT.
However, if you take the path of least resistance and decide to sign up, entering your e-mail address, password, birth date, and in the unfortunate case where you use a VPN or TOR, your phone number, pick a username and a profile picture. Congratulations, you now cursed yourself for the rest of your life. Remember that friend we imagined ? You play a few games together in VC, you crack jokes, you get to know each other… it’s all fun and games, but then, they send you a link you never saw before. Apparently it’s how you add people to groups in discord, they are called “Servers”
> emkey.jpeg
So you join that group they invited you to, it could be anything from a small friend group, to a large server with giveaways and events. But they all share one aspect, a hierarchy.
Chapter two : The hierarchy
Now
#
#
# The Nim Compiler
# (c) Copyright 2015 Andreas Rumpf
#
# See the file "copying.txt", included in this
# distribution, for details about the copyright.
#
## Plugin support for the Nim compiler. Right now they
## need to be build with the compiler, no DLL support.
import ast, semdata, idents
type
Transformation* = proc (c: PContext; n: PNode): PNode {.nimcall.}
Plugin = ref object
fn, module, package: PIdent
t: Transformation
next: Plugin
proc pluginMatches(p: Plugin; s: PSym): bool =
if s.name.id != p.fn.id:
return false
let module = s.skipGenericOwner
if module == nil or module.kind != skModule or
module.name.id != p.module.id:
return false
let package = module.owner
if package == nil or package.kind != skPackage or
package.name.id != p.package.id:
return false
return true
var head: Plugin
proc getPlugin*(fn: PSym): Transformation =
var it = head
while it != nil:
if pluginMatches(it, fn): return it.t
it = it.next
proc registerPlugin*(package, module, fn: string; t: Transformation) =
let oldHead = head
head = Plugin(fn: getIdent(fn), module: getIdent(module),
package: getIdent(package), t