Doesn't this require strong cpu? Especially for that 1BitcoinEaterAddressDontSendf59kuE, that guy completed an entire phrase in his public address. Can't imagine the time it took searching for the perfect private key...
That address didn't technically require any CPU runtime at all. It's a specifically crafted burning address. The address was crafted in such a way that it would be valid but it's public key is not mapped to any private key and thus it would never, in theory be able to be spent. Addresses like that are used to intentionally discard Bitcoins in a provable way.
I didn't fully understand this. So there is no point of creating an address like that? Is it useless?
Adresses such as the BitcoinEaterAdress can be used for Proof of Burn:
https://en.bitcoin.it/wiki/Proof_of_burnThis might be interesting for some projects, but probably not for your own personal use.
If you want a vanity address that you can use for both receiving and spending coins, you need to use a tool like vanitygen as mentioned above. This tool generates one random private key and its corresponding address after another until it finds an address that fits your desired criteria (e.g. must contain the word "Ninja"). This process is fairly resource intensive and gets exponentially more difficult the more characters you desire, hence you're unlikely to see addresses with more than 6-7 custom characters.
If you just want an address to which coins can be sent without caring whether the coins are then spendable again, all you need to create a valid address is to have for it the correct checksum. Calculating the checksum for an address containing the desired phrase is more straightforward and much easier, hence why it's possible to generate addresses that consist almost entirely of custom characters. The downside is of course that you have no idea what the corresponding private key is.