2. Determine the expected number of blocks to be created at the current rate.

what is the "current rate", how do you calculate/measure it?

I think his scheme, now that I understand it, is to work out how long it is supposed to be until the next difficulty change, calculate the current hash rate from the time taken to find the last 2016 blocks, and set the difficulty such that if the hashrate stays the same over the next period as it was for the previous period then the next difficulty change happens when it 'should', based on 10-minute blocks from the start.

So in my hypothetical situation in which everyone starts mining 10 times faster due to ASIC or alien technology, and assuming that the previous difficulty adjustment happened when it should have (since we've been using Matthew's system for a while), the next adjustment will happen 14-1.4=12.6 days too soon, and so the next adjustment period needs to take 14+12.6=26.6 days. We know that at the current rate it'll only take another 1.4 days, so we need to increase the difficulty by a factor of 26.6/1.4 = 19 to get back on target.

If the hash rate stays the same, and we do end up with the next adjustment happening on the 'right' day, the next adjustment will reduce the difficulty by a factor of 26.6/14 = 1.9x.

Overall we've increased by 19x and then reduced by 1.9, giving a resulting adjustment over 2 periods of 10x, which matches the increase in hashing power. So we end up back on schedule, but at the expense of having a very slow 26.6 days during which blocks took an average of 19 minutes each to find.

Do I understand it right now?