in reply to JAPH with a smiley

For those who cannot decipher it themselves:
The main idea is to build the output string from the source itself. The main function J just returns characters at given positions (it can return more than one). There are several ways how to get the positions, including octal literals, functions returning numbers, or some other tricks. Note that 42 is present in both versions, the place that generates "h" generates it from itself, ack is mentioned, and system does not do anything bad here. I also like hex 16 in the second version, it might be fun to include oct 8 as well.
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ