This particular Bittorrent client I have has a slider to change the upload bandwidth. The slider begins at 0 (aka "unlimited") and ends at 5000k/s. It is approximately 100 pixels long.
End result: You can change your upload bandwidth in increments of 50k/s. If you want to cap it to, say, 20k/s . . . or, indeed, anything that isn't a multiple of 50k/s . . . you have to use the text box.
Why they didn't make it a logarithmic slider, I don't know.
Actually, I do know - it's because interface design is tough, everyone thinks they're an expert, and once again, open-source produces an interface that is technically perfect and yet totally useless. Honestly - if the free software foundation wants to use its money well, all it needs to do is hire UI consultants. Open-source coders practically grow on trees, but they end up doing fantastic interface designs like this one.
(Update: It's better than I thought. The text box *doesn't work* - it doesn't update. The only things that work are the slider (useless for the aforementioned reasons), the little up/down arrows next to the text box that only work in increments of 50, and the prestored settings, which go straight from 12k/s to 40k/s. Real smooth, guys. I'd love to set it to 20k/s, but your program won't let me.)
(Another update: Okay, *now* I get it. When you set the prestored settings, it changes the slider ranges. Of course. I mean, what else would it do - change the numbers and leave the sliders ranges the way they were before? Ha ha ha, how silly. So I guess it *is* useful, if you work at it . . . just stupid.)