While sitting on the deck and spacing out, I determined the reason that many people screw up 'less' and 'fewer'.
In many non-English realms, there simply is no distinction between the two.
In math, science, and programming, to indicate there are less (or fewer) of one thing than another, we use shorthand: <. It's right there on your keyboard. We are taught to read < as 'less than.'
For instance, if you're writing something out in math-speak, say you have a basket of five apples, and a basket of nine apples. You can write this out as 5 < 9. "Five apples is less than nine apples." Or in scientific terms, maybe five molecules is less than nine molecules.
In programming speak, same thing:
int basket1, basket2;
basket1 = 5;
basket2 = 9;
if (basket1 < basket2)
printf("Basket 1 has less apples than basket 2.");
These are all clearly grammatically incorrect (to anyone who is annoyed by "less versus fewer" mistakes).
"But Shad," you may claim, "that's just how it is! You can't go modifying entire languages!"
You would be completely right! I can't, and neither can you!
Therefore, annoying your teacher (or the keynote speaker at a very important convention) should be really, really easy! Important people hate it when you point out irrelevant mistakes while they're trying to show you something!
Important Person: "So, to indicate this, we write it like so..." *squeak squeak tap squeak*
You: "Excuse me. What you just wrote on the whiteboard is technically correct, but grammatically inaccurate. There are fewer apples in basket 1 than there are in basket 2. You wrote less apples."
Then, before they can respond, you stand up, march straight to the front, grab a red dry-erase marker from the tray, and proclaim, "In order to correct this, I propose that you use the following symbol instead to indicate 'fewer than' to avoid any confusion."
This will all but guarantee that you have plenty of time between that point in time and whenever your next class is to go play video games on your phone.