Tried to figure out what temperature my Ninja slow cooker cooks at. Not possible, only Hi and Lo. Internets say different models use different temperature.
The Nightmare Bicycle
21–30 of 75 posts
Re: The Nightmare Bicycle
#22I get what the author is getting at, but I really think this is a poor comparison. Selecting a gear on a bike gives immediate feedback. Selecting a power level and cook time on a microwave...does not. Not needing to remember a formula for figuring out a cook time and power level based on the quantity of meat I'm defrosting is a really useful feature. Plus, I can always select whatever levels I want manually on the mi…
Re: The Nightmare Bicycle
#23One-based indexing is an example of this. It's always argued as being familiar, as if people learning to program couldn't deal with adding 1.
Meanwhile off-by-one errors are ludicrously common… People can learn to deal with adding 1, but it’s still a cognitive encumbrance that loads us down and makes life harder. Not that I’m advocating for one-based indexing. At this point consistency is more important than whatever the easier solution is.
Off by one errors in general have nothing to do with being 1 or 0-based indexed.
In French off-by-one error is called “the post and fence problem” because there's always one more post than piece of fence (unless your fence makes a loop).
It arises because it's easy to confuse the number of intervals between elements and the number of elements (which is also: do I need to include the bounds or not). 1-based indexing isn't going to help at all in the general case (it will help for the most basic error which is getting the last element of an array with `a[a.length]`, but that's it)
Re: The Nightmare Bicycle
#24Interesting that the tech these days is going in the opposite direction. These trends to hide technical details (e.g. files on iPhone) can get really frustrating when it doesn't work. Almost a mockery.
Re: The Nightmare Bicycle
#25The microwave example just doesn't make sense when what you have isn't a single "just push the power button" machine, but a combined microwave/oven for instance. You'll want clear mode management, temperature management when defrosting meat, pre-heating and convection when cooking a whole chicken etc.
Anecdotally, a lot of people don't really understand/care about bicycle gears, and stick it to the heaviest and call it a day (on city bikes it's not that heavy, they can dance when it's tougher, and just get off and push the bike when it's really hard). We've seen the same cycle for cars, where people only caring about going from A to B will enjoy automatic transmissions better.
All in all, I agree single purpose products are great when you can afford one and it does the job. Paradoxically it also helps expand the use cases as the user comes to better understand how it works and how it can be "abused".
Re: The Nightmare Bicycle
#26One has modern integrated brake-shifters with two separate parts that can be clicked inwards to shift up and down. There's no feedback on which gear it's on, but I know which part to click to make pedaling harder, and which part to click to make it lighter. At the stops, the shifter just won't move. The drawback is that if I want to know how close I am to the end of the range, I have to look down at the chainrings.
The other bike has un-indexed downtube shifters. These are tiny, frame-mounted levers that are moved smoothly (no clicks) forwards or back and they directly control the derailers which move the chain across gears. This is my favourite interaction pattern for bike gears, because you can put your hand down and feel the position of both levers and immediately know which gear combination you're in. Incredibly practical in heavier traffic to never need to take eyes off the road.
Re: The Nightmare Bicycle
#27One-based indexing is an example of this. It's always argued as being familiar, as if people learning to program couldn't deal with adding 1.
I imagine zero based indexing is because resources were scarce and number of bits low in the bad old days. Why waste that zero index. From there is was backwards compatibility. If machine code uses zero then assembly inherits that, them C and everything else. Even JS months!
Re: The Nightmare Bicycle
#28Re: The Nightmare Bicycle
#29I get what the author is getting at, but I really think this is a poor comparison. Selecting a gear on a bike gives immediate feedback. Selecting a power level and cook time on a microwave...does not. Not needing to remember a formula for figuring out a cook time and power level based on the quantity of meat I'm defrosting is a really useful feature. Plus, I can always select whatever levels I want manually on the mi…
As far as I can tell, they control three parameters:
* Where the heat comes from (top, bottom, or both)
* Whether or not ventilation is activated
* The temperature
There is also a dial for temperature, but not for the other two parameters. I am not sure whether every combination is covered by the "program" dial. I am not sure whether or not my understanding is even correct.
I would say it's an 7.5 out of 10 on the nightmare bicycle scale.
Re: The Nightmare Bicycle
#30Earlier quoted context omitted.
I imagine zero based indexing is because resources were scarce and number of bits low in the bad old days. Why waste that zero index. From there is was backwards compatibility. If machine code uses zero then assembly inherits that, them C and everything else. Even JS months!
No, zero based indexing just is based on how arrays actually work. It has nothing to do with resources being scarce. You have an address for the beginning of the array and an offset. The first element has no offset so you use zero. Therefore you naturally end up with zero indexing.
Maybe because they didn't want to "hide the bicycle gears"?