Blame Your Mistakes on Technology
Techdirt has an quick look at how it is becoming much more common for people to blame their mistakes on technology. "There are people driving off cliffs and through flooded roads and taking detours that span half of England, apparently at the behest of their navigation units. Things got so bad in one place that authorities even had to put up "ignore your sat nav" signs. Now, a woman's car got hit by a train, and for some reason, she's blaming a GPS navigation unit."
The way I usually navigate to places I don't know well is to consult an online map first, which provides good overall context to the route, plan the trip myself, then use the GPS only as a reminder. The only time I would use the GPS by itself is if I don't have a way to get the full context of my route. If you go to Google maps, for instance, and make a plan, then try to do the same on the GPS, you'll see the difference immediately - with the GPS it is nearly impossible to have a good sense of the whole route, so you might not even be able to tell if it sends down some bizarre route. As a pilot in training, I see warnings against relying on the instruments too much all the time. In spite of the fact that a lot of effort has gone into making everything accurate and useful, it is taught that it is critical you have as much awareness of what is going on around you at all times - and this means actually looking out of the airplane to confirm what your instruments are telling you. Relying on the GPS by itself to plan your route is equivalent to flying with your windows blacked out. If your instruments are wrong - and it does happen - you'll never know it, and who knows where you'll end up.
My brain (and, I suspect, others') are wired to expect the variable to be first, so it doesn't conform to the pattern I'm expecting. It's like I read "if 3 equals..." and my brain thinks "3? 3 is always going to equal 3. What else would it equal?"
That's not so bad though, because it's there to work around the problem in C-type languages where you accidentally type this:
if (a = 3)
because you forgot to type == instead of =. This will assign the value. If you do that with (3 == a), you get a compiler error.
I don't like (3 >= a) because it's not like you'll type = instead of >= because you thought = was a greater-than-or-equal test. Besides, the actual solution is to turn the compiler warnings up and don't deliberately write assignments in conditional expressions.
When you get inequalities and try to put the constant first, you invariably make the expression less intuitive, thus requires more work to understand. And as we all (should) know, you write your code assuming it is going to be read by a novice (for various real-world reasons - not all of which are that it is going to be read by a novice).