semaphores == shit, shared memory == shit, unix is buggy