Yep, I always read what I post here because I could proofread something 3 times in the message editing window and find perfection each time, but as soon as I post it and it's in a different font against a different background, well... it's like when the lights come on in a strip club. And like you said, when I go back to fix issues in the editor, I can't find them half the time. I usually program with my IDE in the "dark" theme (easier on the eyes) but sometimes I find it beneficial to change themes and look over things again.I've only skimmed the thread and haven't read all the posts, but I see a common theme that I think everyone, most definitely myself included, is afflicted by.
Humans are very, very good at pattern recognition and extrapolation. We see part of something and we fill in the gaps with what we don't see but that we know needs to be there. We see the tip of the tail and we know that there is the rest of the lion attached. I think this carries forward to our writing and programming. We know what we meant to write, and so when we read it we tend to not see what's actually there, but rather what we know is supposed to be there. I can't even begin to count the number of times I have written something, from a post here to a paper I'm submitting for publication, that I have proofread over and over only to find several typos as soon as I print it out. Or the number of times I've been trying to point out a silly mistake that a student has made in a program, such as a misspelled variable name, and even after focusing their attention right to the specific word they still don't see the problem because their brain is taking what it sees and replacing it with what it knows it is supposed to be.
The good news is that there are some simple things we can do to greatly help (but never eliminate) this. I've noticed, and confirmed in conversations with countless others, that even minor changes in context make a huge impact. That's why printing out a paper, or previewing a post, allows me to immediately see errors that I've overlooked repeatedly in the editor. On several occasions when I've gone back to the editor to fix something I found in the preview, I couldn't find it again because it was now back in the context where my brain was tricking me. But as soon as I went back to the preview I found it immediately. Another technique, particularly good with programming situations, is to consciously tell myself tell myself to read what I wrote, not what I wanted to write, or to read what's there and not what I want to be there. Essentially I am forcing myself into the role of a reviewer looking at someone else's work and that often moves me far enough away from the mindset that established the familiar context that is masking the problem for me to spot it. If that doesn't help, I start explaining my work, in detail, to my dog (even if she's not around). That forces me to think about the problem and my solution differently, because now I am explaining it instead of solving it and implementing it, which again serves to create a new context in which I notice things I've overlooked. Numerous head-slap moments have resulted -- plus I should, by all rights, have a very well-educated dog by now.
IMO it's pretty bizarre really. It implies (I think?) That you have a mental image of, in some cases, thousands of lines of code, stored (incorrectly, but consistently) in your cranial RAM. And that's pretty impressive.



