"$\ln$", said the student, "of 123,456,789." He sighed, contemplated reaching for a calculator, and thought better of it.

"18.4," said the Mathematical Ninja, absent-mindedly. "A bit more. 18.63."

The student diligently wrote the number down, the Mathematical Ninja half-heartedly pretended to visit some violence on him, and the student squeaked "Oh, come on, it's the end of term, how about a bit less of the nonsense. Hey, why don't you tell me how you did it?"

The Mathematical Ninja thought for a moment. "What's $\log_{10}(100,000,000)$? DON'T TOUCH THAT!"

The student sat back and thought. "Well, it's $10^8$, so $\log_{10}(10^8) = 8 \log_{10}(10)$, but $\log_{10}(10)$ is ze... ONE! So it's 8."

The Mathematical Ninja sighed. He really didn't get paid enough to put up with this. "Eight, good. And $\ln(10)$ is a smidge more than 2.3, so if I work out $8 \times 2.3$, I get a decent estimate for $\ln(10^8)$."

"Which, obviously, you do in your head to get, what was it, 18.4?" The student was playing a risky game with the sarcasm, but the Mathematical Ninja's need to share his tricks overrode anything else.

"That's right. Then because $\ln(1+x)$ is roughly $x$ for small $x$, I can adjust to make the approximation a bit better."

"If $\ln(1.23)$ is about 0.23, you can just add that on! Log laws," the student said, insufferably.

"Correct," said the Ninja, not wanting to get into a discussion of how come it worked so well when $\ln(1.23)$ was, in fact, closer to 0.21. Hint: $\ln(10) \approx 2.3025$, so multiplying it by 8 gives an extra 0.02.

"So, in general, you:

count the digits

take away one

multiply by 2.3 (and add 0.01 for every four digits)

adjust by adding on the natural log of the 'standard form' bit of the number.

Is that right?"

The Mathematical Ninja nodded. He was somehow off his game at the moment, but he knew he'd be back.