I don’t know anything about LW’s internals, but in most sane architectures you’d want to have a last-downvote timestamp linked to each user’s account, and to compare the timing of incoming downvotes against it. If the difference is too small, you reject the input and display a message similar to the one you get when you’re about to post in a heavily downvoted thread. That message has a few issues—it doesn’t come up if the vote total upthread dropped below the threshold between when the page was loaded and when the post was submitted—but since we only care about session-local behavior here, that shouldn’t be a problem. Synchronization between the session and server time might be harder but that depends on details I don’t know.
I can see a behavioral pitfall, though. I typically decide on votes after reading through a screen’s worth or so of a thread, and this sometimes implies two or more downvotes (for example in the cases of short low-quality posts or discussions inappropriate for the site). I’d find it gratingly aversive to be forced to wait N seconds or minutes between posts in these cases; I don’t know if this happens often enough to outweigh the mass-downvoting problem, though.
I don’t know anything about LW’s internals, but in most sane architectures you’d want to have a last-downvote timestamp linked to each user’s account, and to compare the timing of incoming downvotes against it. If the difference is too small, you reject the input and display a message similar to the one you get when you’re about to post in a heavily downvoted thread. That message has a few issues—it doesn’t come up if the vote total upthread dropped below the threshold between when the page was loaded and when the post was submitted—but since we only care about session-local behavior here, that shouldn’t be a problem. Synchronization between the session and server time might be harder but that depends on details I don’t know.
I can see a behavioral pitfall, though. I typically decide on votes after reading through a screen’s worth or so of a thread, and this sometimes implies two or more downvotes (for example in the cases of short low-quality posts or discussions inappropriate for the site). I’d find it gratingly aversive to be forced to wait N seconds or minutes between posts in these cases; I don’t know if this happens often enough to outweigh the mass-downvoting problem, though.