Configuring a SoYouStart IP for Arch Linux

So, I recently managed to snag a SoYouStart dedicated server. It comes with 16 IPs, but configuring more than the main IP (ie, "failover" IPs) is definitely not trivial. I used my dedicated server for hosting my own VMs with Proxmox, so I definitely needed to use these extra IPs.

I couldn't find any good way to configure a failover IP configuration in Arch Linux, so I scrounged around and ended up following directions mostly from the FreeBSD instructions, but adapted for Arch.

Here's how I did it

[earlz@test2 ~]$ cat /etc/netctl/virtnetwork 
Description='A more versatile static ethernet connection'
Interface=ens18
Connection=ethernet
IP=static
# Any valid iproute command can be placed in this array
IPCustom=('addr add FAIL.OVER.IP/32 dev ens18' 'route add PRIMARY.IP dev ens18' 'route add default via PRIMARY.IP')
DNS=('8.8.8.8')

Replace FAIL.OVER.IP with the appropriate failover IP(ie, the extra IPs). Replace PRIMARY.IP with your main IP, but change it to end with 254.

I'm sure there is a better way to do this, but eh. close enough for me

Posted: 1/15/2015 2:54:58 AM

Provably Spendable Altcoin Burn Addresses

Please verify this message at keybase.io/verify

Copy and paste the text from here: https://gist.githubusercontent.com/Earlz/de3cc5f6ee85c7a69d53/raw/e9b8f53ddadd1677fc2fd2a0f1df8547e08ae408/gistfile1.txt to https://keybase.io/verify to ensure it is signed by me(earlz)

Also, for good measure, you should run the code I used to generate the addresses to confirm. You can never be too careful throwing around huge amounts of money

-----BEGIN PGP SIGNED MESSAGE-----

This is a list of unspendable addresses with which to burn coins to. When you send a coin to any of these addresses, they are permanently gone and can never be redeemed.

You can prove this by sending a small test amount to the address and then checking a block explorer or using getrawtransaction txid 1. You should see the coins output to somehting like "raw_scriptPubKey": "76a914000000000000000000000000000000000000000088ac" Some block explorers are also smart enough to indicate in their user interface that the coins were destroyed.

You can find the version number matching to the desired altcoin by checking two places in the code:

chainparams.cpp for bitcoin 0.9 and later based coins:

base58Prefixes[PUBKEY_ADDRESS] = list_of(0); //version number is 0

or in base58.h

PUBKEY_ADDRESS = 0, //version number is 0

You can generate this list of addresses with this C# code

Version: 0, Address: 1111111111111111111114oLvT2
Version: 1, Address: QLbz7JHiBTspS962RLKV8GndWFwjA5K66
Version: 2, Address: ogCyDbaRMvkdsHB3qfdyFYaG1WtWyNoVK
Version: 3, Address: 2D1oxKts8YPdTJRG5FzxTNpMtWmqBnjrht
Version: 4, Address: 2cMQwSC9qirWGjZM6gLGwW69X22mx9jRA9
Version: 5, Address: 31h1vYVSYuKP6AhS86fbRdMw9XHieotbST
Version: 6, Address: 3R2cuenjG5nFubqX9Wzuukdin2YfLYZyD1
Version: 7, Address: 3pNDtm61yGF8j2ycAwLEPsuWQXoc2sA4Km
Version: 8, Address: 4DhpssPJgSi1YU7hCMfYt1BJ334YnPXXvB
Version: 9, Address: 4d3RrygbPdAtMuFnDmzsN8T5fYKVUjFu7m
Version: 10, Address: 52P2r5yt6odmBLPsFCLBrFisJ3aSBHTm7z
Version: 11, Address: 5RidqCHAoz6dzmXxGcfWLNzevYqNrjZe5V
Version: 12, Address: 5q4EpJaTXAZWpCg3J2zppWGSZ46KYZmeCZ
Version: 13, Address: 6EPqoQskEM2Pddp8KTL9JdYEBZMGFDpfbU
Version: 14, Address: 6djSnXB2wXVGT4xDLsfTnkp1p4cD2B68LT
Version: 15, Address: 7353mdUKehx9GW6JNHznGt5oSZs9mBsnYx
Version: 16, Address: 7SQekjmcMtR25wEPPiL6m1Mb5586R5ut33
Version: 17, Address: 7qkFjr4u54stuNNUR8fRF8dNhaP37bg4x7
Version: 18, Address: 8F5rixNBnFLmioWZSYzjjFuAL5dytLR3ux
Version: 19, Address: 8eRTi4fUVRoeYEeeTyL4DPAwxatvbjaxFV
Version: 20, Address: 93m4hAxmCcGXMfnjVPfNhWSjb69sDziGSY
Version: 21, Address: 9T6fgHG3unjQB6vpWozhBdiXDbQp3P7F8M
Version: 22, Address: 9rSGfPZLcyCGzY4uYEL1fkzJr6fkicS2rs
Version: 23, Address: AFmseVrdL9f9oyCzZefL9tG6UbvhPbdYzM
Version: 24, Address: Af7Udc9v3L82dQM5b4zee1Xt77BeB76VTG
Version: 25, Address: B4T5ciTCkWauSqVAcVKy88ofjcSasUkSYU
Version: 26, Address: BTngbpkVTh3nGGdFdufHcG5TN7hXYuX31z
Version: 27, Address: Bs8Haw3nAsWf5hmLfKzc6PMEzcxUGSYjxf
Version: 28, Address: CGTta3M4t3yXu8uRgkKvaWd2d8DQvDPnpL
Version: 29, Address: CfoVZ9eMbESQia3WiAfF4dtpFdUMf7KWzm
Version: 30, Address: D596YFweJQuHY1BbjazZYmAbt8jJPbKehC
Version: 31, Address: DUUhXNEw1bNAMSKgm1Kt2tSPWdzF8952Np
Version: 32, Address: DspJWUYDimq3AsTmnRfCX1iB99FBnpDZgu
Version: 33, Address: EH9uVaqWRxHuzJbroqzX18yxmeW8XVJyV9
Version: 34, Address: EgVWUh8o98knojjwqGKqVGFkQ9m5BDNc9G
Version: 35, Address: F5q7ToS5rKDfdAt2rgf9yPXY2f21wp8sq4
Version: 36, Address: FVAiSujNZVgYSc27t6zUTWoKfAGxc8CEW5
Version: 37, Address: FtWKS22fGg9RG3ACuXKnwe57HfXuPKLD5o
Version: 38, Address: GHqvR8KwyrcJ5UJHvwf7RmLtvAnr5uTHdV
Version: 39, Address: GhBXQEdEh35AtuSNxMzRutcgYg3nkvq5Wb
Version: 40, Address: H6X8PLvXQDY3iLaTynKkQ1tUBBJjSZSf23
Version: 41, Address: HVrjNTDp7PzvXmiZ1Cf4t9AFogZgDAZZWi
Version: 42, Address: HuCLMZX6paToMCre2czPNGS3SBpctajMLL
Version: 43, Address: JJXwLfpPXkvgAdzj43KhrPhq4h5ZgWCZWe
Version: 44, Address: JhsYKn7gEwPYz58p5Tf2LWychCLWNQsFhn
Version: 45, Address: K7D9JtQxx7rRoWGu6szLpeFQKhbSzyUbC8
Version: 46, Address: KWYkHziFfJKJcwQz8JKfJmXBxCrPkUrNjU
Version: 47, Address: KutMH71YNUnBSNZ59ieyntnyai7LU5ciQj
Version: 48, Address: LKDxGDJq5fF4FohAB8zJH24mDDNHDNtqsE
Version: 49, Address: LiZZFKc7nqhw5EqFCZKcm9LYqidDsKHFSL
Version: 50, Address: M7uAERuQW2AotfyLDyewFGcLUDtAYu9v5V
Version: 51, Address: MXEmDYChDCdgi77RFPzFjPt86j97MwEZsu
Version: 52, Address: MvaNCeVyvP6ZXYFWGpKaDX9ujEQ418F7sm
Version: 53, Address: NKuyBkoGdZZSLyPbJEetheRhMjeznFZszf
Version: 54, Address: NjFaAs6ZLk2KAQXgKezDBmhUzEuwSacxX1
Version: 55, Address: P8bB9yPr3vVByqfmM5KXftyGckAtAdu6f8
Version: 56, Address: PXvn95h8m6x4oGorNVerA2F4FFRpqMqwAM
Version: 57, Address: PwGP8BzRUHQwchwwPuzAe9WqskgmbKp88f
Version: 58, Address: QLbz7JHiBTspS962RLKV8GndWFwiJNvEPz
Version: 59, Address: Qjwb6QazteLhFaE7SkeocQ4R8mCexgjaLb
Version: 60, Address: R9HC5WtHbpoa51NCUAz86XLCmGTbkf45NT
Version: 61, Address: RYco4dBaK1GStSWHVbKSaebzPmiYNjtd5R
Version: 62, Address: RwxQ3jUs2BjKhseNX1em4msn2GyVBjd1Lc
Version: 63, Address: SMJ12qn9jNCCXJnTYRz5Yu9ZenERqvYwfg
Version: 64, Address: Skdc1x5SSYf5LjvYZrKQ32RMHHVNWCkvvo
Version: 65, Address: T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb
Version: 66, Address: TZJozAg1ruapycCicgz31GxvYJ1G1qELV7
Version: 67, Address: TxeQyGyJa63ho3Loe7KMVQEiAoGCjsUGkb
Version: 68, Address: UMz1xPGbHGWacUUtfXefyXWVoJX9Q2kNtF
Version: 69, Address: UmKcwVZszSyTRucygwyzTenHRon69evUe1
Version: 70, Address: VAfDvbsAhdSLFLm4iNKJwn454K32pQL4Ne
Version: 71, Address: VZzpuiATQouD4mu9jnedRuKrgpHyY2Me1w
Version: 72, Address: VyLRtpTk7zN5tD3EmCywv2beKKYvDmMwFV
Version: 73, Address: WNg2svm2qApxheBKndKGQ9sRwporvRgRpT
Version: 74, Address: Wn1ds34KYMHqX5KQp3eatH9DaL4ogbVZA4
Version: 75, Address: XBMEr9McFXkiLWTVqTyuNQR1CqKkMPMn6L
Version: 76, Address: XagqqFetxiDb9wbartKDrXgnqLah6SqX2S
Version: 77, Address: Xz2SpMxBftgTyNjftJeYLexaTqqdn8nnGv
Version: 78, Address: YPN3oUFUP59LnoskuiyrpnEN6M6aXT4ZJD
Version: 79, Address: YnhenaYm6FcDcF1qw9KBJuW9irMXAhFG9T
Version: 80, Address: ZC3Fmgr3oS56Rg9vxZeVo2mwMMcTvhxKzc
Version: 81, Address: ZbNrko9LWcXyF7J1yyypHA3iyrsQd7Yfms
Version: 82, Address: ZziTjuSdDnzr4YS71QK8mHKWcN8MMmMdi8
Version: 83, Address: aQ44j1juvyTisyaC2peTFQbJEsPJ6xNJsd
Version: 84, Address: aoPfi83Ce9vbhQiH4EymjXs5sNeEoGtEFB
Version: 85, Address: bCjGhELVMLPUWqrN5fK6Df8sVsuBWTKAVN
Version: 86, Address: bc4sgLdn4WrMLGzT75eQhnQf8PA8EpiYbA
Version: 87, Address: c1QUfSw4mhKE9i8Y8VyjBugSktR4tTNknH
Version: 88, Address: cQk5eZEMUsn6y9Gd9vK3g2xEPPg1e5m7n6
Version: 89, Address: cp5gdfXeC4EynaQiBLeNAAE21tvxGwsxK9
Version: 90, Address: dDRHcmpvuEhrc1YoCkygeHVoeQBtzThwNG
Version: 91, Address: dcktbt8DcRAjRSgtEBK18QmbGuSqmo3n8w
Version: 92, Address: e26VazRWKbdcEspyFbeKcY3NuQhnUNMBCG
Version: 93, Address: eRS6a6io2n6V4Jy4H1ye6fKAXuxj8Equm7
Version: 94, Address: epmhZD25jxZMsk79JSJxanaxARDfvXHFj8
Version: 95, Address: fE7JYKKNT92EhBFEKreH4urjnvUceJJVZJ
Version: 96, Address: fdSuXRcfAKV7WcPKMGybZ38XRRjZFwi6Qq
Version: 97, Address: g2nWWXuwsVwzL3XQNhJv3AQK3vzVzJ2DTZ
Version: 98, Address: gS87VeDEagQs9UfVQ7eEXHg6gSFSgoxxnJ
Version: 99, Address: gqTiUkWXHrsjxuoaRXyZ1QwtJwWPUVqsM2
Version: 100, Address: hEoKTrop13LcnLwfSxJsVYDfwSmLAp8Jq9
Version: 101, Address: he8vSy76iDoVbn5kUNeByfVTZx2GpdZxrX
Version: 102, Address: i3UXS5QPRQGNRDDqVnyWTnmFCTHDbzmsYk
Version: 103, Address: iSp8RBhg8ajFEeMvXDJpwv32pxYAJusoSs
Version: 104, Address: ir9jQHzxqmC845W1Yde9S3JpTTo72C9YY8
Version: 105, Address: jFVLPQJFYwezsWe6a3yTvAac5y43kgdYJD
Version: 106, Address: jepwNWbYG87sgwnBbUJnQHrPiUJzTmT4xi
Version: 107, Address: k4AYMctpyJakWNvGcte6tR8BLyZw8fDMYV
Version: 108, Address: kTW9LjC7gV3dKp4MeJyRNYPxyUpstdSbBh
Version: 109, Address: krqkKqVQPfWW9FCSfjJjrffkbz5pYzx3eg
Version: 110, Address: mGBMJwnh6qyNxgLXh9e4LnwYEVLmJ99DAh
Version: 111, Address: mfWxJ45yp2SFn7UciZyNpvDKrzbhyfKrY8
Version: 112, Address: n4rZHAPGXCu8bYchjzJhK3V7VVrefDJHw3
Version: 113, Address: nUCAGGgZEPN1QyknmQe1oAku817bQAFKFt
Version: 114, Address: nsXmFNyqwZptEQtsnpyLHJ2gkWNY5xk9Ad
Version: 115, Address: oGsNEVH8ekHm3r2xpFJemRJUP1dUrQ9Tgo
Version: 116, Address: ogCyDbaRMvkdsHB3qfdyFYaG1WtRY9uKob
Version: 117, Address: p5YaChsi57DWgiK8s5yHjfr3e29NBSr2Lr
Version: 118, Address: pUtBBpAznHgPW9TDtWJcDo7qGXQJtffELg
Version: 119, Address: ptDnAvUHVU9GKabJuvdvhvPcu2fFhbCHUk
Version: 120, Address: qHZPA2maCec991jPwLyFC3fQXXvCQKGhkU
Version: 121, Address: qgtz994ruq51xSsUxmJZgAwCA3B96uWX9n
Version: 122, Address: r6Eb8FN9d1Xtmt1ZzBdtAJCynYS5jpWCRq
Version: 123, Address: rVaC7MfSLBzmbK9f1byCeRUmR3h2VUPcwu
Version: 124, Address: rtuo6Txj3NTeQkHk32JX8YkZ3YwyE5uSav
Version: 125, Address: sJFQ5aG1kYvXEBRq4Sdqcg2Lg4CuwtaWNi
Version: 126, Address: shb14gZJTjPQ3cZv5ryA6oJ8JZTrevAQV4
Version: 127, Address: t6vc3nrbAurGs3i17HJUavZuw4ioKTiFCE
Version: 128, Address: tWGD2u9st6K9gUr68hdo53qhZZyk3JoQAF
Version: 129, Address: tubp21TAbGn2VuzBA7y7ZB7VC5EgmEm7bj
Version: 130, Address: uJwR17kTJTEuKM8GBYJS3JPGpaVdSr7CW1
Version: 131, Address: uiH1zE3k1dhn8nGMCxdkXRf4T5kaCdkd5L
Version: 132, Address: v7ccyLM2ipAexDQSENy51Yvr5b1WsV3aCb
Version: 133, Address: vWxDxSeKRzdXmeYXFoJPVgCdi6GTe9oudV
Version: 134, Address: vvHpwYwc9B6Qb5gcHDdhyoURLbXQKTGrr1
Version: 135, Address: wKdRvfEtrMZHQWphJdy2TvkCy6nM2sRvXd
Version: 136, Address: wiy2umYBZY2ADwxnL4JLx41zbc3HkExbah
Version: 137, Address: x8JdtsqUGiV33P6sMUdfSBHnE7JEUyxTaJ
Version: 138, Address: xXeEsz8kytwurpExNtxyvJZZrcZB9EDJbg
Version: 139, Address: xvyqs6S3h5QngFP3QKJJQRqMV7p7sd48cU
Version: 140, Address: yLKSrCjLQFsfVgX8RjdctZ797d54atPjnV
Version: 141, Address: yjf3qK2d7SLYK7fDT9xwNgNvk8L1K3VhGr
Version: 142, Address: z8zepRKupcoR8YoJUaJFroeiNdawygAmXb
Version: 143, Address: zYLFoXdCXoGHwywPVzdaLvvW18qtkfAi67
Version: 144, Address: zwfrndvVEyjAmR5UXQxtq4CHde6qUBPryp
Version: 145, Address: 21M1TmkDmxAC3arDZYqJDKBU5G9MnASQWhb
Version: 146, Address: 21kM4krX4fLevQHMeaFdXoJjrteciobSpTE
Version: 147, Address: 229gfjxpMNX7oDiVjbfxrHS1eX9sfZM4YhE
Version: 148, Address: 22Z2Gj57e5hag39dpd6JAmZHS9f8cJtPSwe
Version: 149, Address: 22xMsiBQvnt3YramueWdVFgZDnAPYyN9DAW
Version: 150, Address: 23MhUhHiDW4WRg1uzfvxojoq1QfeVjj7JTT
Version: 151, Address: 23m35gQ1WDEyJVT45hMJ8Dw6o3AuSRanfoW
Version: 152, Address: 24ANgfWJnvRSBJtCAimdSi4NafgAPAzJ9Vw
Version: 153, Address: 24ZiHecc5dbu48KLFkBxmCBeNJBRKrksH3x
Version: 154, Address: 24y3tdiuNLnMvwkULmcJ5gJv9vggGW3WGf6
Version: 155, Address: 25NPVcqCf3xpomBcRo2dQASBwZBwDEmoQUw
Version: 156, Address: 25mj6bwVwm9HgackWpSxieZTjBhC9zYcLj6
Version: 157, Address: 26B4hb3oEUKkZQ3tbqsJ38gjWpCT6iqRz2Z
Version: 158, Address: 26aQJaA6XBWDSDV2gsHdMcp1JShi3SJdwwr
Version: 159, Address: 26yjuZGPotggK2vAmthxg6wH65Cxz7aTu2i
Version: 160, Address: 27P5WYNh6bs9BrMJrv8Hzb4YshiDvkmsVmc
Version: 161, Address: 27nR7XUzPK3c4fnSwwYdK5BpfLDUsVoEtAk
Version: 162, Address: 28BkiWbHg2E4wVDb2xxxdZK6SxijpEQDWhR
Version: 163, Address: 28b6KVhaxjQXpJej7zPHx3SNEbDzkyYLg1c
Version: 164, Address: 28zRvUotFSazh85sD1odGXZe2DjFhfiagTM
Version: 165, Address: 29PmXTvBY9mTZwX1J3Dxb1guorEWeMXWj9J
Version: 166, Address: 29o78T2UprwvSkx9P4eHuVpBbUjmb7QsDZ8
Version: 167, Address: 2ACSjS8n7a8PKaPHU64dDywTP7F2Xnso73i
Version: 168, Address: 2AbnLRF5QHJrCPpRZ7UxYU4jAjkHUTriR6y
Version: 169, Address: 2B17wQMNgzVK5DFZe8uHrxBzxNFYRDevbkG
Version: 170, Address: 2BQTYPTfyhfmx2ghjAKdBSKGjzkoMyLjRXP
Version: 171, Address: 2Boo9NZyGQrEpr7qpBjxVvSYXdG4JanKBSc
Version: 172, Address: 2CD8kMgGZ82hhfYyuDAHpQZpKFmKFKjZ76n
Version: 173, Address: 2CcUMLnZqqDAaUz7zEad8th66tGaC2BS8XL
Version: 174, Address: 2D1oxKts8YPdTJRG5FzxTNpMtWmq8ogJg2U
Version: 175, Address: 2DR9ZK1ARFa6L7rQAHRHmrwdg9H65XQAzVH
Version: 176, Address: 2DpVAJ7ThxkZCwHYFJqd6M4uTmnM2BBxq4a
Version: 177, Address: 2EDpmHDkzfw25kigLLFxQqCBFQHbxs7sZ3Z
Version: 178, Address: 2EdANGL4HP7Uxa9pRMgHjKKT32nruaTZbks
Version: 179, Address: 2F2VyFSMa6HwqPaxWP6d3oSipfJ7rHoycY9
Version: 180, Address: 2FRqaEYeroUQiD26bQWxNHZzcHoNo3vqoah
Version: 181, Address: 2FqBBDex9Wesb2TEgRwHgmhGPvJdjn3VySa
Version: 182, Address: 2GEWnCmFSDqLTqtNmTMd1FpYBYotgR79eRB
Version: 183, Address: 2GdrPBsYiw1oLfKWrUmxKjwoyBK9d8FShkh
Version: 184, Address: 2H3BzAyr1eCGDUkewWCHeE55kopQZprrjuM
Version: 185, Address: 2HSXbA69JMNj6JBo2XccxiCMYSKfWZKfNiH
Version: 186, Address: 2HqsC9CSb4ZBy7cw7Z2xHCKdL4pvTJ1puEt
Version: 187, Address: 2JFCo8Jjsmjeqw45CaTHbgSu7hLBQ199hUo
Version: 188, Address: 2JeYQ7R3AUv7ikVDHbscvAaAuKqSLgmg8Ns
Version: 189, Address: 2K3t16XLTC6abZvMNdHxEehSgxLhHPEwWBp
Version: 190, Address: 2KTDc5ddjuH3UPMVTeiHZ8piUaqxE8efyQS
Version: 191, Address: 2KrZD4jw2cTWMCndYg8cscwzGDMDAr2Vfxi
Version: 192, Address: 2LFtp3rEKKdyE2DmdhYxC75G3qrU7XkhRnJ
Version: 193, Address: 2LfER2xXc2pS6qeuiiyHWbCXqUMj4F4VWmR
Version: 194, Address: 2M4a224ptjztyf63okPcq5Kod6rz119KvTG
Version: 195, Address: 2MTud1B8BTBMrUXBtmox9ZT5QjNEweTvJzd
Version: 196, Address: 2MsFDzHRUAMpjHxKyoEHU3aMCMsVtMqs1PV
Version: 197, Address: 2NGapyPiksYHc7PU4pecnXhcyzNkq6XkrCc
Version: 198, Address: 2NfvRxW23aikUvpc9r4x71ptmct1mnVAMDo
Version: 199, Address: 2P5G2wcKLHuDMkFkEsVHRVxAZFPGiWSK8Nu
Version: 200, Address: 2PUbdvicd15gEZgtKtucjz5SLstXfFA9hbp
Version: 201, Address: 2PswEupuuiG97P82QvKx4UCi8WPnbwLazty
Version: 202, Address: 2QHGqtwDCRSbzCZAVwkHNxKyv8u3YcQ1tMm
Version: 203, Address: 2QgcSt3WV8d4s1zJayAchSTFhmQJVN3br24
Version: 204, Address: 2R5x3s9omqoXjqRSfzax1vaXVPuZS5uBrjd
Version: 205, Address: 2RVHerG74Yyzceram21HLQhoH2QpNmpdhPA
Version: 206, Address: 2RtdFqNQMGATVUHir3Rcetq54ev5KUF7CKc
Version: 207, Address: 2SHxrpUhdyLvNHirw4qwyNxLrHRLGCEGteF
Version: 208, Address: 2ShJToazvgXPF7A126GHHs5cduvbCwVFSEJ
Version: 209, Address: 2T6e4nhJDPhr7vb977gccMCtRYRr9g78FVP
Version: 210, Address: 2TVyfmobW6tJzk2HC96wvqLADAw76KwWP8N
Version: 211, Address: 2TuKGkutnp4msZTRHAXHFKTRzoSN37VVAFw
Version: 212, Address: 2UJesk2C5XFEkNtZNBwcZoahnRwcynjeMTL
Version: 213, Address: 2UhzUj8VNERhdCKhTDMwtHhya4SsvS1w2ve
Version: 214, Address: 2V7L5iEnewcAW1kqYEnHCmqFMgx8sBBwaW1
Version: 215, Address: 2VWfghM5wendNqBydGCcXFxX9KTPovpTTp9
Version: 216, Address: 2Vv1HgTPEMy6Fed7iHcwqk5nvwxekeUY6LN
Version: 217, Address: 2WKLtfZgX59Z8U4FoK3HAED4iaTuhHLrQWV
Version: 218, Address: 2WigVefyonL21HVPtLTcUiLLWCyAe3793Hv
Version: 219, Address: 2X826dnH6VWUt6vXyMswoCTcHqURans3VbC
Version: 220, Address: 2XXMhctaPCgwkvMg4PJH7gat5TygXRGHNka
Version: 221, Address: 2XvhJbzsfusQdjnp9QicSAi9s6UwUDaHCTE
Version: 222, Address: 2YL2ub7Axd3sWZDxES8wkeqReizCQq5qeYS
Version: 223, Address: 2YjNWaDUFLELPNf6KTZH58xhSMVTMbuiQue
Version: 224, Address: 2Z8i7ZKmY3QoGC6EQUycPd5yDyziJGUP4yB
Version: 225, Address: 2ZY3iYS4pkbG91XNVWPwi7DF1cVyF1QSRQv
Version: 226, Address: 2ZwPKXYN7Tmj1pxWaXpH2bLWoF1EBjcvjdx
Version: 227, Address: 2aLivWefQAxBtePefZEcM5TnasWV8TZUAnk
Version: 228, Address: 2ak4XVkxgt8emTpnkaewfZb4NW1k58Y6soz
Version: 229, Address: 2b9Q8UsFybK7eHFvqc5Gz3iLA8X11qLGHho
Version: 230, Address: 2bYjjTyZGJVaX6h4vdVcJXqbwm2FxX3mXFt
Version: 231, Address: 2bx5LT5rZ1g3Pv8D1euwd1xsjPXWuJVAuAZ
Version: 232, Address: 2cMQwSC9qirWGjZM6gLGwW69X22mr23ajyL
Version: 233, Address: 2ckkYRJT8S2y9YzVBhkcFzDRJeY2nhTvtkr
Version: 234, Address: 2dA69QQkR9DS2NRdGjAwaULh6H3HjMykJZg
Version: 235, Address: 2dZRkPX3hrPtuBrmMkbGtxTxsuYYgAaFrXZ
Version: 236, Address: 2dxmMNdLzZaMn1HuSn1cDSbEfY3ocqKw2JE
Version: 237, Address: 2eN6xMjeHGkpepj3XoRwXviWTAZ4ZYzZUiZ
Version: 238, Address: 2emSZLqwZywHXeABcprGrQqnEo4KWDUtHZ8
Version: 239, Address: 2fAnAKxErh7kQTbKhrGcAty42RZaSyLdLhp
Version: 240, Address: 2fa7mK4Y9QJDHH2TnsgwVP6Kp44qPdoERF7
Version: 241, Address: 2fyTNJAqS7UgA6Tbsu7GosDbbga6LNxXpjp
Version: 242, Address: 2gNnyHH8ipf92utjxvXc8MLsPK5MH5Y2mh8
Version: 243, Address: 2gn8aGPS1XqbujKt3wwwSqU9AwacDmHzxwT
Version: 244, Address: 2hBUBFVjJF24nYm28yNGmKbQxa5sAaRbBRL
Version: 245, Address: 2haonEc2axCXfNCADznc5oigkCb87CsWT4q
Version: 246, Address: 2hz9PDiKsfNzYBdJK2CwQHqxXq6P3zvPiYL
Version: 247, Address: 2iPUzCpdANZTR14SQ3dGimyEKTbdzhc3wFX
Version: 248, Address: 2inpbBvvT5jvHpVaV53c3G6W766twP9Agiu
Version: 249, Address: 2jCACB3DjnvPAdvia6TwMkDmtic9t4jgUNN
Version: 250, Address: 2jbVoA9X2W6r3TMrf7tGgEM3gM7Qpkek3Bk
Version: 251, Address: 2jzqQ9FpKDHJvGnzk9JbziUKTycfmUfunZT
Version: 252, Address: 2kQB18N7bvTmo6E8qAiwKCbbFc7viDRKCkh
Version: 253, Address: 2koWc7UQtdeEfufGvC9Gdgis3EdBexf8fte
Version: 254, Address: 2mCrD6aiBLphYj6R1DZbxAr8ps8SbbVvNZX
Version: 255, Address: 2mcBp5h1U41ARYXZ6EywGeyQcVdhYP7dFob
Posted: 10/22/2014 3:40:57 AM

Cryptographic proofs

The following is signed:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


I hereby claim:

1. I own earlz.net and lastyearswishes.com as the website and domain.
2. I am earlz (https://keybase.io/earlz) on keybase.
3. I have a public key whose fingerprint is C114 6A0D 6250 CAEA E3C7  5516 224E 8EA1 9223 B76D

And finally, I am proving ownership of this website by posting this here. 
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP JS 0.0.1
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJTKK4+AAoJEAKXMK2l7Ra+Rh8QAIZ+zHPE1Py8+PMGSWb3+DHq
9enNKVSoUVdQXXeJLUEIZeEpbrsJckJ9E/zm45MfZb1b4eBxeuqmPB0JTYfIEW7S
31g9QpWctZjpuJtu84FXFbGIjO3rckJigLHdp/ER4ffq6N2F7V2YQ85elOCKX5+H
w/6mGj/Sv98LfYWgjsLzQdFfiUF1CNYLQqjZaDf6sIa3CKDBXhxJJxyY7Rn0ottL
WJoALvMnH2+IjU9E3mRNjLVZge/VKXsfbyNB/5I21Su7D15wBv6Wcy0/00jH51k9
9VG7+BD91FCmqaGGkEINH8J1ewCDZRnZ1d/1pPXXHojq5IuHVBeWQJIz+T5NunLu
QeSdNc1IFq85zSoELjA6aGa4aFAlPQKA5Gx271tVqI6ymQtdYNPqQUJEb0cc9S/Q
EBMr0qDbrgZw6W7xMVF2HsihWRAMYP/zILbW45cNaybpEqNz01qxqBycMrADpNSl
b6Z6sqv/DkOx1PlMjyh27oRpMn6wtD6fm70u/IENZado//U/7uaeWck5RRuM2R+c
lJD4uyavOTAdNOSq1fy3fNAyiqiMK7fcNwT5JtNporU3364JOMhqutCK84KZtUJ9
bDzX6qKLcakW8NCJDDeqCeyHStXAvui3MEHtsa5FS396oANoqSDvG31KUZas0DaK
h6hIuIcDa/ysVrGsTlOe
=SLD/
-----END PGP SIGNATURE-----

My publicly-auditable identity:

https://keybase.io/earlz

From the command line:

Consider the keybase command line program.

# look me up
keybase id earlz

# encrypt a message to me
keybase encrypt earlz -m 'a secret message...'

# ...and more...

Dogecoin address ownership verification

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

The Dogecoin address DTe6ymUDiTNaLEe4qBNyLzZyMUnEgLTRnT is owned by Earlz, who also owns earlz.net and has a publicly-auditable identity at https://keybase.io/earlz

Signature: IIiNwuV3rp5yhDo5WzPymlO7ARBHZj9J25eUDKflbg+WfsOozULFk+fptsxLj5G0jHG3+2Ww5SpkLIP6DNJZirM=
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP JS 0.0.1
Comment: https://keybase.io/crypto

wsFcBAABCgAGBQJTKLBwAAoJEAKXMK2l7Ra+DfgP/ixBsxmlbIzYu4f0CpA+RqOO
aRshfnThj51JrQuK3HsDiCaTa/2D1+M3Z33tuDZyhSrKJuC82POoDNjOdrC5gB+o
n3XCTfz9ztmS3pffFQhvPGJpTG5azV+yKZrt9QdeLEoHYCdYWyyikaCD698zbryb
E3LAITyRdjLYOV//0EEPej9B1geOGK95XWs3I3XJhjrWbWKlVrwegNT+T5fuFVQr
T0UWfuvBBB+Hd/9f+civPwq2/t3Z44m2PRkiJVCXYQSB6MoorvCCYwh5BRkrhm51
xYItxGdRShHtUTb//tHbmvuwaD341vq8T1+KN3BgUU4Owb72zs877stEdznJW5bG
hHUCcenX0Y2GCXBqJq2H1MN5KRC6LNO31jB2W/+wUrhanEPOYSLyzU67zZ5vMFH+
vGZ+jutfhnouBYkLn1qHloARvrFI9i5cBZxlucVub0NJwqLKP/miDQCsNrf7DYMI
cpBy2PqQAGBe8S5HJxA5eO4+dR6P7cfwGw1ulqATVHG2ID1XaoaNcaiyRwXxPPFn
Gu3yH5FDdm5PSc/F7U5HLLVbnrL7fX56vFEuxcbCuanQbzYjT9wuvHjXS5Jt5Tvv
4tO0LLtTc/q/ao1xqsJ+aX/GzSaHovOqpOAuNBm5NquMDVVHX1YRQ03a2JqM8tuL
McwhRLHpsgHZJytmadJc
=I8VV
-----END PGP SIGNATURE-----
Posted: 3/18/2014 8:51:01 PM

Why I won't be using Microsoft.Bcl.Immutable package (despite much anticipation)

Looking at the newly released ImmutableCollection package, I see some confusing restrictions in it's licensing agreement (especially for something that must be redistributed with your application)

You may not ... work around any technical limitations in the software;

Does this mean it's illegal to use reflection to get at private bits of the library?

You may not ... use the software for commercial software hosting services.

This sounds quite scary. Does this mean I couldn't make a commercial website or SAS product using this library?

You may not ... modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that the code be disclosed or distributed in source code form; or others have the right to modify it.

Does this mean I can't use GPL licensed code with this library?

You may not ... distribute Distributable Code to run on a platform other than the Windows platform;

This looks rather obvious, but does this mean I couldn't make a website that ran on Mono and used this library, or does it only mean that I couldn't make something using Mono and then package the program and this library in a Linux debian package or something else? (ie, distribute, not just run)

This license worries me greatly about my ability to use this (much anticipated) library. These questions probably require a lawyer to fully resolve, and I'm not going to buy the time to ask one.. so, I just won't be using this library, as cool as it looks and as much as this has been anticipated for me.

Unless you have a legal team you can ask these questions, I wouldn't use this library either until Microsoft changes the license to something less hostile to developers

Also, if you want a version of this with a sane license, see the up and coming MIT-Licensed Project

Posted: 9/26/2013 4:18:27 PM

Xamarin Android... is awesome

So, I recently found that Xamarin Android completely allows dynamic loading of assemblies.. and everything somehow seems to work properly.

Purely awesome. Try it out yourself:

                var wc = new WebClient();
                var bytes = wc.DownloadData("http://earlz.net/static/xamx/reftest.dll");
                var asm = Assembly.Load(bytes);
                Type type = asm.GetType("DynamicAsm.DynClass");
                var obj = Activator.CreateInstance(type);
                var res = (string)type.InvokeMember("Test",
                                  BindingFlags.Default | BindingFlags.InvokeMethod,
                                  null,
                                  obj,
                                  new object[] { count++ });
                button.Text = string.Format(res);

Despite Xamarin Studio and most of the things around it being buggy, the actual APIs are rock solid and awesome.

Posted: 9/16/2013 2:35:17 AM

Crazy New Site Design

So, I've been working on some changes recently on my website and I finally decided to pull the trigger on releasing them. If you liked the old layout better or you see visual problems with this layout in your browser, feel free to tell me in the comments.

I think this is a good direction for the layout to be going, what with the new "flat everything" trend. I personally like it better because I have substantially reduced the amount of code in my style sheet.

Also, I feel like this design is a bit better at focusing on the content and not the layout. I know there are some rough edges here and there, but I'll be trying to improve it more as time goes by.

Posted: 9/2/2013 8:32:18 PM

Xamarin Android/Studio Bugs

Writing these down as I encounter them:

  1. If you have a .userprefs file, it will almost always freeze upon startup. Fix is to delete it
  2. Licensing is broken unless you're running as Xamarin Studio as an administrator
  3. If you have a space before the first tag(but after the ?xml bit) you'll get an exception thrown upon saving which appears to prevent saving...sometimes
  4. VI-mode is a long running joke. Instead of working, it just rickrolls you

All on Windows 8 64-bit

Posted: 8/6/2013 1:48:19 AM

NVG510 Fixer -- An Android Application

New Application/Method

Someone by the moniker of Blend3r contacted me with a new method of rooting both the NVG510 and NVG589 modems. It does require downgrading the firmware, but it looks easy enough to execute. He provides a Java app, or a write up on how to do it manually. I did a cursory check through the Java code while writing this, but he can of course change it at anytime. I trust him enough to link to him, but if you're security paranoid it is best to do the DIY method instead of using his app.

Anyway, his website is http://nvg589.tk/

Do not contact me about problems with his tool/method unless you think it's a virus or something like that (so I can unlink it). I looked through it and it makes sense to me, but I by no means support any of these. Don't ask me for help on how to do it, etc etc.

(the rest is left here for archival/historical purposes)

App was pulled from Google Play. The app violated Google's ToS out right, so there's nothing I can really do to appeal it and get it listed again. So, I'm making it free for everyone to download and side-load on their android device.

Download the latest binary release here: http://earlz.net/static/com.earlz.nvg510fixer.v2.2.apk

Also, this application is now open source! (albeit very dirty source code) You can find the source code on github.

I was selling it for $3 on Google Play, so if this app helps you, consider donating. My paypal address is earlz -at- earlz dot net. My Bitcoin address is 178DgR2aZcHeYHhXZwtvcJ5RD13Y6YMQBf, or my Dogecoin address is DLY7Vh8oDYLRxQLFAg2PruA15zFMRqoXGu.

About NVG510 Fixer

I get a lot of people coming to this site every day for fixing problems with the AT&T U-Verse NVG510 modem. I found the information to fix the common problems and root it. However, the procedure for fixing this is a bit technical. So, I made the Android application NVG510 Fixer. An Android application makes it a lot easier for you, but I also get to make a tiny bit of money along the way (have I mentioned there is a baby on the way!?)

First off, make sure the IP address of your modem is correct. If you don't know what an "IP Address" is, don't worry about it. This should only be different if you explicitly set it differently (which there is no reason to do)

Second, you'll need to enter in the password to the device. This should be written on a sticker on the modem labeled "Device Access Code". It should be a 10 digit number. Type that in.

What these buttons do

Now, you have a few different options:

  1. Enable Telnet -- If you know what this is, you may be interested in it (It'll be on port 23)
  2. Disable Telnet -- Everything here will enable telnet. It shouldn't be terribly dangerous to turn on since it's password protected, but if you're paranoid about security, you can disable it afterwards
  3. Fix Redirect -- This is the infamous "Potential Connection Issue" or /cgi-bin/redirect.ha problem that hijacks other websites and is extremely annoying. Click this button and you'll never see that page again(note: you may have to restart your computer/browser if you are currently seeing it)
  4. Enable UPnP -- If you're a gamer, this option is useful to you. This enables Universal Plug And Play, which is a long way of saying that you can have an Open NAT type without having to do anything else
  5. Reboot -- Finally, you can restart the modem remotely if you're feeling lazy

Potential Problems

There are a few different issues that could happen with this. I'll try to point you in the right direction

  • I keep getting "login appears to have been unsuccessful" -- Make sure you're using the "device access code", not the "wireless network key". Also, make sure that when you go to http://192.168.1.254 in your browser that you get the AT&T modem page.
  • I get "no route to host" -- Make sure your devices's wifi is connected to your NVG510 access point
  • I get "operation timed out" -- You might have to try pushing that button once more
  • I get "connection refused" -- sometimes it takes a few seconds to enable telnet(which every other button relies on). Wait a few seconds and try again
  • Your application force closes! -- That's not good :( Send me an email at earlz -at- (this website name) or post below in the comments and I'll try and fix it

After Factory Reset

If you (or AT&T) does a factory reset of your modem, you will have to do this again. However, if your modem loses power and resets, you shouldn't have to run this again

It didn't work!

If you were seeing the "potential connection issue" page, and afterwards your browser gives an error like "server timed out" or "host not reachable", then you may actually not have internet. In that case, call AT&T and hope for the best :) This application will not solve issues with your phone line!

If it didn't do what you wanted, request a refund!

Where is a free version?

I know it's a bit tacky to charge for such a simple application, but I think it's justified in this case. I've spent plenty of time getting to know the NVG510 and helping other people with it, as well as preparing all of the information for publication here. So, I think it's fair. If you don't like it, I will always provide the slightly more technical version for free. See this blog post for details on how to do that.

What's next

I'm not sure. I want to add DNS server fixing, but I don't think I'll be able to fit it in. I'm using Xamarin Android Starter Edition. As such, I have limitations on how complex and big I can make my application. If you want to donate $300 for me to obtain a full license, I'd love you forever :)

Factory Reset

This will completely reset your modem as if AT&T just shipped it to you. It will undo all configuration settings

Bridge Mode

Check the other published info (stub)

Posted: 8/3/2013 8:06:41 PM

Introducing NetBounce

So, I've been working on a quick project called NetBounce. It's basically a nifty tool to test HTTP clients and dump the data they send somewhere, without actually running your own HTTP server. This also supports HTTPS, which means it supports clients which do not allow SSL certificate errors.

Anyway, my main points of making it was because, eventually I want to expand on it to include programmable responses and this is a very good start, and because it's a valuable tool for a project I work on at my job.... And because it's cool and I've always wanted a test project with HTTPS support

Posted: 6/30/2013 6:46:11 PM

My first program

This is the oldest code I can find which once did something.

https://gist.github.com/Earlz/5848045

It's quite amazing. I can remember some of my thoughts when I wrote it. I had this huge obsession with using as few resources as possible. I had a fairly good machine for the time (512Mb of memory), but was obsessed for no good reason. Windows Media Player 9 was my media player of choice, mainly because it came with Windows. However, I considered it very heavy in resources, so I set out to use my newly honed skills to write the best media player in the world.

I even remember a tiny amount of the implementation details. I remember the reason starty wasn't start. I originally didn't think it needed to show the menu's text... but then I realized I needed to show it as it scrolled off the screen. The rest of the labels (except for l) I'm 99% sure are complete gibberish. I'm quite amazed that the variable names actually make sense though, other than st. st I can only assume was shorthand for start which for some reason translated to command.

Believe it or not, I iterated onto this and tried to actually sell the thing! I had paypal buttons and everything on a website called simple-apps.

It's amazing how naive I once was..

Posted: 6/25/2013 2:30:25 AM