Please read section "2.3 Special characters" of the documentation for package qrcode. \qrcode reads the argument verbatim except for characters \, {, and } to allow macro expansion. These characters and the other special characters including spaces needs an "escaping" with the backslash, because their catcodes are already assigned at the time of the macro definition. The catcode changes in \qrcode come to late.

Example:

\newcommand*{\TextHello}{Hello\ world!}
\qrcode[]{\TextHello}


Vanishing spaces between words inside a QRcode
My understanding is that typical flash memory failures, such as those due to erase cycles, occur at the bit level.  I have a flash in which entire blocks (actually two blocks) are failing.  Is there a common explanation for this?  

More specifically, I have two blocks in a NAND flash device which are failing. These blocks are separated by one working block.  The two failing blocks can be erased (I can confirm by reading by all ones), but after programming with 'random' data all of the bits are shown as all zeros.

Both blocks appear to have failed 'simultaneously'

I know that the flash part is nowhere near its max erase-cycle spec of 100k cycles.
