πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©

Don't mind me, I'm just showing off some features because this is… GOOD SOFTWARE

The only problem I have is that I… CAN'T TELL IF AWESOME:OR HORRIBLE RESOURCE WASTE

Pretty code

import struct
import socket

SO_PEERCRED = 17
MAX_REQUEST_SIZE = 100

class Daemon(object):

    addr = '/tmp/foo.sock'
    sock = None

    def __init__(self):

        self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.sock.bind(self.addr)
        self.sock.listen(0)

    def start(self):

        while True:

            print "Waiting for client."
            (conn, addr) = self.sock.accept()

            while True:

                try:
                    creds = conn.getsockopt(socket.SOL_SOCKET, SO_PEERCRED, struct.calcsize('3i'))
                    print "dem creds: ", creds
                    request = conn.recv(MAX_REQUEST_SIZE)
                    conn.send("I got: %s" % request)

                except socket.error:
                    print "Client disconnected or connection fuckup."
                    break

daemon = Daemon()
daemon.start()

Video

Plot!

ZOMG MAP!1!!

fnord 2017-06-26 18:14:34.552399
fortytwo
Mr. Florb 2017-07-03 13:57:01.462748
Florbutronic!
Frank Nord 2017-07-03 14:03:31.323512
CAN YOU SEE ME NOW!?
Mx. Eye 2017-07-04 00:58:48.048284
I CAN SEE YOU INDEED BUT WHY ARE WE SHOUTING I THINK THIS WAS SUPPOSED TO BE A CIVIL DISCUSSION ALSO YOUR CAT POOPED IN MY SANDALS AND I HAVE A PROBLEM FINDING GOOD ENDINGS FOR MY STATEMENTS
florp 2017-12-05 11:24:27.958561
florp
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’© 2017-07-04 01:12:12.453011
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’© 2017-07-04 01:15:13.455128
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©
gnorf 2017-08-10 12:29:57.356772
blorb.
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’© 2017-07-04 01:15:35.204092
πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©πŸ’©
sprololo 2017-07-04 01:21:33.009955
fugg :DDD
updatetest 2017-10-22 17:07:08.541160
Stuff still works after form system overhaul?