Since the writing of this article, the structure of the JSON message signatures on MyEtherWallet changed slightly. Here's the updated signature data structure that should work using the current version of that website:
{
"address": "0x6954d0255cfed71d55ad8b371b4170b8bf7709dc",
"msg": "I am Midnight426 on Steem and Twitter, I am MidnightLightning on GitHub, and I'm the owner of the Ethereum address 0x6954d0255cfeD71d55Ad8b371b4170B8BF7709dC, which signed this message.",
"sig": "0xf515a622eff1f20e980216bc67306368c68685d84c15e6af6e8876c4de4a787d193c63cc786198ec1fec5932e54377764f3241fff03ecb805acef67d5844894e1b",
"version": "3",
"signer": "web3"
}
Updating again! The technology of signing messages via Ethereum hasn't changed (needs a private key, and results in a long hexadecimal data "signature"), but different organization structures keep evolving on top of them. Here's that same message signed using the Ethereum Attestation Service (EAS): the whole signature is encoded into the URL of this link:
https://easscan.org/offchain/url/#attestation=eNqlkktu3DAMhu8y66Dgm9Qyk2kuUXShB3WAogV6%2FNIKBkUXXcWGbJqifn6k%2Be0GX8huLzesBb9fkcDf%2BX7vRPKVZps87aH93fgBOVCD3lLDTzBAOvShLIoe20cOA9jad5%2FYdfQxZEr24OUauZd2REdOzBTBfUQEfDCunWOP4CQOEVorudQDhmXuSTJWRGMO6gF7eSq0lmjZS4Ti0rGmsoBU586H41J9XTHYcQg63OP%2B7g5tvZ2kZEyZY%2BHC0dtayGOuLFqyHThW0zGCNq%2FRZCSpdV3Miwlxru3ziGyNEYOQcrtmxiyuWAE82SdwgmKLBgq0NAs3SZB6TxS12XdeIreXggtGawYvcBw%2Ff%2FzKj%2B5%2B5qLPHYcqvBEY2iKQVXhiWU%2B3cGFhYqvdbUmg7GJa9zrxaVI%2Bcbfmcu040SyN%2F6rJfFrHl%2BZPZTkaEq52NJ7qpeWXUp0I0yu6suXJdJ20vzuiH5ZTrSehmJxvdiZg8GDjxjXFJgxVmbIam5mKVEjFXx653mHEfHxUPcCyQK6BJTG%2B5ICrsmpOsRZRVDVsUTafCovwoj9E7cpt64OimLxo898%2FcKt5oDMIsrGNZShQoGtK102yWvNusFsDT2hss7jSBu6APsV8NKieI47b9z80COwq
That's less readable as a human, directly, but it adds several additional bits of data including the time the person signed it, whether the signer is allowed to undo their signature ("revoke" it), and what the purpose of the message is ("Make a Statement" in this case)