Page 1 of 1

A few thoughts - Wednesday, July 23, 2014

Posted: Wed Jul 23, 2014 9:14 pm
by Steve Sokolowski
Good evening! A few thoughts for dinner tonight:

Life is about economics

Many people don't place enough emphasis on economics when making decisions about their lives, instead making incorrect decisions based entirely upon emotions. Economics, which is the study of how scarce resources are allocated, affects anything of value that often seems to have little to do with what most people consider to be money.

There are some people who repeat trite sayings like "life isn't all about money." In fact, life is all about money, as anyone who doesn't have any can attest. You don't have to spend your money on cars or houses to participate in economics. You can also trade money for other things like years of life, time off, avoiding prison, and so on. One of the more interesting economic theories links abortion, money, and crime, on the theory that people with little money don't spend enough time with their kids to instill positive values in them, and therefore allowing abortions in 1973 resulted in a reduction in crime in the 90s when those kids never grew up.

On Monday, I talked about the idea that some people will ignore the regulations in New York because they are willing to take the risk of prison in exchange for money. Shortsighted people may look at such a trade and reply that any amount of money isn't worth a year in jail, but the best way to look at this is to take something you want, or don't want to do but need to, and replace it directly instead of using money as an intermediary. This is called the transitive property in mathematics: it states that if "A=B and B=C," then "A=c." Now replace the variables. If you could guarantee that one year in jail earned you one million dollars, and one million dollars was enough money to avoid working for 25 years, then one year of jail is worth 25 years of non-work. When you take out the money from the equation, you get the same result but it is easier to see how economics causes people to do what they do.

Consider some other examples. Someone who spends 1/4 of his or her time partying in college (1 year) gets lower grades and can't get a job for 6 months after graduation, whereas not partying at all results in getting a job the day after graduation. If the new engineer makes $50,000/yr, that means that the partier makes $25,000 less over the course of his lifetime. But that's not all, because that $25,000 will compound in interest over time (on average, the stock market will double every 12 years). Therefore, if someone graduating today can expect to work until age 80 (or 60 years), then that $25,000 put into stocks will be worth $800,000 at retirement. If one year of a comfortable lifestyle costs about $50,000, then we can take the money out of the equation and conclude that partying for one year in college has a price of 20 years of retirement.

Finally, let's consider the example of terrorism. Those airport X-ray scanners cost $90m and the risk of death due to terrorism is about 20m:1. It costs about the same amount to research a new cancer drug. The risk of dying of cancer is about 5:1. Therefore, if the drug is effective in 1 in 4m people, then it would have been a better investment than the X-ray scanners. Most drug studies express the results in terms of how many of the treated patients got better compared to the control patients who were untreated. In percentage terms, the effectiveness of the drug would have to be 0.000025% for it to be a better deal. These odds assume that if the machines were removed, then the risk of a terrorist attack would at least double, which is doubtful. In fact, if every person who ever developed cancer in the past 80 years were treated with this drug, only 375 of those billions would have to be cured for it to make sense to ditch the airport screeners.

The conclusion here is that if you want to make the best decisions for your life, you need to recognize that everything, even life and death, can be reduced to money. In a perfect world, there would be some things that are priceless, but this is a world where things are scarce and people suffer and die all the time. Money isn't just a concept that determines how much stuff you can buy; it places value on things like time, health, and freedom that can, like other goods, be risked and traded for other things of value.


Transaction volume not rising quickly enough

Some have tried to argue that the low transaction volume recently is fine because it is not falling. I disagree because in technology, you are either innovating or you are dying. Software is either in development, or it is abandoned and nobody wants to use it. In business, your company is either growing or it has headed towards a decline. There are no steady states in these industries.

In order for bitcoins to succeed, the transaction volume not only needs to be growing, but it needs to be growing very quickly. If you draw a line through the transaction volume chart and look at its slope, you can extrapolate growth to approach the same level as MasterCard around... when? 2100? Obviously, the world will be a different place then and something else will have grown faster than bitcoin by that point (or people will have just given up on the technology).

While past growth might seem like it is unprecedented, it is exactly what we would expect to see for a new technology that would achieve mass adoption in 5 or 10 years. If that growth slows down to, say, 1/3 of its previous level, then mass adoption would be expected to take as long as 30 years, which is unreasonable. With the world changing at an accelerated pace, a 30-year adoption cycle is not realistic anymore for any technology regardless of area of life.

If bitcoins are to succeed, the growth needs to continue at a rate similar to the past. While many traders would be happy with 50% returns per year, that sort of growth simply can't support the technology. When I suggest that the transaction volume is a danger sign, the volume doesn't have to go down in order to be a problem. It simply has to stop increasing at the rate necessary for bitcoin to break out and become the dominant force in the economy.


Configuration is much harder than development

Over the past few days, I've been struck by something that I knew all along, but was not aware of how important it is to recognize. In developing an engineering system, configuring other people's software is far more difficult than writing your own is. In fact, if what the other software is doing is simple enough, I'm now convinced that it makes more sense to completely rewrite it, because you'll gain a better understanding of the problem and probably come out with a better-written solution.

Right now, our pool has complete software that has no known bugs. We want to release it for testing so that additional bugs can be found and fixed. One would think that if someone gave you the code for a complete system and told you to set it up and start making money, you could do that in a few days. Consider what seems like a simple problem: setting up a router. You pay $200 to a company like Cisco only to find out that their router freezes when it has more than 30 port forwarding rules applied. They list this as a "known issue" that can only be solved with a reboot at the remote location, a procedure that takes hours. Surely the biggest networking company in the world can afford to release a firmware update that allocates a few kilobytes of memory to host more port forwarding rules.

Other examples of this problem are Cryptsy's API, where their customer service released a bug that broke the entire system for 12 hours, "pusher," a service that receives data from remote sites but does not reconnect upon disconnection as it promises to, CGMiner, which requires that bandwidth-wasting duplicate data be sent to the client every 30 seconds or else it disconnects with an error message stating that the connection was interrupted, EFI, which is a million-line operating system that runs underneath Windows and Linux and which is a patchwork of thrown-together code from so-called "professional" companies, and the bitcoin daemon, which until recently simply didn't compile under Debian.

Finally, many people fail to recognize how important documentation is to software. Without documentation, nobody else can use the software, period. In the case of APIs and developer-centric software, a function that is undocumented is as good as useless. There are some javadocs out there that have functions like "sendmoney" with the default description. How do you even begin to know what that does, and would you trust calling such a function blind?

So many products have so many issues that a good rule of thumb is that if you can rewrite whatever the other software is doing in one weekend or less, then it is probably worth the effort to just rewrite it. Code quality is a serious issue in the bitcoin community. In addition to criticizing the lack of development of the core software, we should also be drawing attention to the issue of how much of the surrounding code is often unusable.


Other
  • Days until July 24: 1
  • Days until the lower boundary (according to /u/moral_agent) rises to meet the price: 11