Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.
Hope you enjoy the instance!
Follow the wormhole through a path of communities !webdev@programming.dev
It’s hard to say what algorithm would serve you better. Seems like this does what you are seeing it to do. It’s not how I’d do it, but I don’t prioritize unblocked users. To fix this, I’d assign a multiplier for zero blocked users. It might be one so that no blocked users is the same as one mathematically. But maybe free speech is so important to you that you give it a multiplier of 2 or wherever.
active_users / [MAX(1,blocked_users)]
This would be a multiple of 1. Change the 1 to a 0.5 for a multiple of 2.
I didn’t look at the script but it probably has a Max function which just returns the higher of two numbers, effectively putting a lower bound on the possible values.