I have made an update to the code that should improve over-visibility of a user's own posts.
Some may have seen that the sorting works a little differently here. One thing that sets Matrix apart from other link aggregators is that posts have location, and so do users. Their proximity partially colors many of the sort algorithms.
But one consequence of this is that your own posts end up automatically being close to your own position, making your own posts disproportionately rise to the top when you view the site. The problem is user's don't want to see their own posts over dominate the site. They want to see other people's posts.
There is more than one way to solve this problem, and more than one is worth pursuing. But today I knocked one of them out.
Now your user's posting location and viewing location are separate. Your viewing location will be based on what you upvote and downvote (as it always has been). But your posting location will be based on a weighted average of where your other posts ended up plus a little bit of randomness.
So every post has a location of (x,y,w,z) where (x,y,w) are initially based on your other posts, and z is initialized to 1. And users have a location of (x,y,w,z), where (x,y,w) are based on what you upvoted and z=0.
When people upvote posts both the user and the post get one unit closer to each other but the z component is zero'd. When people downvote posts the user and the post get further by one unit and z is allowed to increase. Z is a spacial downvote, and an initial separation between the user plain and post plain to help prevent 1/distance ever getting too big.
But for this to have any positive effect users need to upvote and downvote. As you upvote and downvote you will explore the site instead of just seeing your current pocket. But by separating viewing and posting locations that should at least help that pocket be less dominated by yourself.