iancw
I would go for the function, and pass along Knuth's advice about premature optimization. If you're writing at such a low level that function calls actually aren't acceptable, go with a comment "// renormalize vector." Your instinct should be the function though. I bet there is more than one vector normalization going on in this hypothetical codebase, and that line looks pretty typo-prone.
I think the fact that you (and I) don't trust current camera flashes to make photos worth keeping is actually an argument that it's a problem worth fixing. It remains to be seen how successful the 5S flash will be, but I think it's cool they're trying. I'm also glad Apple made the sensor elements larger rather than cramming in more mega pixels. Normally that's a concern of the geeky DSLR consumers, and point & shooters suffer with noisy low-light performance and more pixels than they need.
At the risk of responding out of identity, but also with the hope of contributing constructively despite having some identity at stake:
A literal interpretation of the bible doesn't preclude accepting natural selection as an ongoing, observable process. It may reject that process as the explanation of our species' origins. Those two are often conflated, contributing to the identity-driven, emotion-filled discussion that PG describes.
Regarding the main premise of the article, I think it's possible to have rational, logical discussions about topics in which identity is involved. They are more challenging than, say, discussing Javascript. But I don't think those discussions work well on the internet. They require trust (that both parties will be heard in good faith) careful check of emotions, motivations, and reasoning. Those are even more challenging without high-bandwidth communication aids like facial expressions and tone of voice.