A “socket” is the technical term for a piece of software that allows two computer programs to communicate with each other, even if they are running on different computers across the network. As you can imagine (since you are probably reading this on a web browser), this is a very important thing to be able to do.
Today I was at a meeting in which a graduate student was talking about figuring out how to kill a software socket that was hanging around even after it was no longer useful. As he explained the problem, I was very intrigued by his continued reference to “the socket slayer”. I was imagining him implementing an entire suite of software right out of the Buffyverse.
In addition to the Socket Slayer, there could be other software like the Watcher (who trains the Socket Slayer), and of course the evil software daemons, which run around in the background until vanquished by the Socket Slayer.
I started imagining all sorts of cool rules for this software world. For example, daemons cannot enter your dataspace unless you invite them in. The more I thought about it, the more sense it all made.
And then I made what was, in retrospect, a terrible mistake — I asked the student to tell me more about the Software Slayer.
It turned out that he was actually trying to say “sockets layer”.
I still think my version was better.