Healthy Competition for Bitcoin

I’ve been following the Bitcoin block size debate since Gavin’s 20mb block proposal. If you’re not familiar with the block size debate, this wiki article is a good start. During the debate, I’ve lost respect for quite a few of famous people. But let’s put it aside. Let’s talk about a healthy competition for Bitcoin. There should be more than one teams working on different implementation of Bitcoin Yes, both the software and the protocol. If there is only one implementation, who will have the authority to decide which features to include/exclude in Bitcoin software? Who should decide which rules applied/not applied to Bitcoin protocol? In the ideal world, there should be more than one implementations. Teams are freely to include/exclude whatever features they want. Users and miners will decide which softwares they want to run based on features set each implementation provides. And since teams are freely to code, companies can “lobby” (for example paying developers) for their desired features to be included into the software, if these features are not what everybody want. But, miners and users need to be well-informed in order to make decisions Yes, that’s why it is important to keep users/miners informed. Users/miners should be able to understand pros and cons of each features, and why they are included in each implementation. Therefore, it also important to have healthy discussion forums. Attack the implementation, not the people Remember, every developer/user/miner, regardless of their views are, is a person. We should assume they want Bitcoin to success. Respect every person even though (s)he does not share your view. If you don’t like a feature being included into the software, simply don’t run it. Let others know your view. Have a healthy discussion. Run what’s the best for you, or create a new one if you can’t find any

What I’ve learned this week: Let’s Encrypt, Python’s lambda and more

It’s never too late to start a tradition. I haven’t been writing blogs lately. 1. Let’s Encrypt In the ideal world, everyone should be able to do anything without the fear of eavesdropping. 10 years ago, it would be very hard to do this. Personal Computers were not very strong and Internet was slow, therefore HTTPS is reasonably slower than HTTP. Things have been changed. Computers are faster now. Internet speed has been increased exponentially. The only thing that hold HTTPS back is the cost to obtain a server SSL certificate. In my opinion, it should be free because once you have an intermediate certificate that is signed by a root certificate, generating a server certificate is just a piece of cake. Honestly it costs money to obtain an intermediate certificate and maintain supporting infrastructure, and companies usually offset the cost to customers who want to purchase a server certificate. Actually server certificates have been issued for free for over two years by StartSSL, but the process is not simple. You need to sign up an account, verify your email address, verify your domain, generate a certificate signing part on your server, create a request with StartSSL and wait for your certificate to be signed. The whole process could take up to a day, YMMV. And once it’s expired, you need to go over the whole thing again, except maybe verify your email address. With the introduction of Let’s Encrypt, things are getting much better. With a simple git clone command, and another command to run the letsencrypt-auto toolkit, once can easily obtain a server certificate in a blink of an eye (no, actually it takes about a minute). And renewing a certificate could be done using the same procedures. Simple and sweet. Instruction to obtain a certificate. 2. Change