I remember taking a PL class in undergrad, learning Prolog as one of a handful of languages. During that section my brain started to want to "bind" variables to things as I was going about my day, it was very weird.
To mitigate this case you could limit capacity in terms of concurrency instead of request rate. Basically it would be like a fairly-acquired semaphore.
I believe nginx+ has a feature that does max-conns by IP address. It’s a similar solution to what you describe. Of course that falls down wrt fairness when fanout causes the cost of a request to not be proportional to the response time.
I felt this keenly when my children were very young. At times I only had one arm/hand free because I was holding a child in the other. Or I could only read poorly in the dark because I didn’t want to turn on the lights and disturb the kids.
Since then I always see accessibility thinking as a universal benefit, not just for the “abled”.
When I was in college they would use a transparency projector, but instead of transparency pages, there would be a roll with a crank that you would turn to advanced the roll. You would get the same effect as slipshow.
reply