Book Review - The Bitcoin Standard by Saifedean Ammous

There is a plethora of blogs, podcasts, books, and Internet flotsam that you can consume to learn about Bitcoin. If you are new to this space, you should start with The Bitcoin Standard by Saifedean Ammous. If you are already familiar, you should still drop what you are doing and read it immediately. I had high expectations for this book and despite some significant flaws it exceeded them. Please note that I listened to this book in audio form and did not read the printed version.

The Bitcoin Standard

One surprising aspect of this book is that a minority of it is spent discussing Bitcoin and blockchain. The majority is spent on financial history of the world with special focus on the Gold Standard, modern financial catastrophies and their causes, and the relatively recent end of the Gold Standard. I am fuzzy on actual page counts as I listened to the audiobook version but if you are impatient to learn about Bitcoin you might get frustrated by the amount of financial history. I very much enjoyed it. If you haven't also read Jack Weatherford's History of Money I highly, highly recommend it.

Saifedean spends a lot of time dwelling on what constitutes sound money and what is unsound money. Essentially, unsound money is money that is not backed by a tangible commodity that will retain its value. Unsound money loses value over time. The U.S. dollar, according to Saifedean, is unsound money as it loses value every year due to planned (and unplanned!) inflation. A lot of people don't understand that governments can literally print money to pay their debts and the U.S. actually does that. Further, banks (registered depository institutions) have the power to create money out of thin air every time they make a new loan as long they respect the leverage ratio mandated by banking regulators. This creation of money by bank loans can lead to credit bubbles like the one we saw in 2008.

Unsound money, according to Saifedean, is the cause of many and perhaps most of the ills of our modern world. He goes a bit too far here in my opinion but he makes a compelling case that going off the gold standard allowed the countries of Europe to finance wars of scale not seen before the 20th century. Wait, how does that work? Basically, every country that participates in a modern war suspends redemption of their national currency for gold and then proceeds to print as much of their own coinage as needed to pay for the war effort.

So here is my ridiculous, mostly wrong abbreviation of world monetary history

  1. Scarce commodities are used as the medium of financial exchange - sea shells, glass beads, giant rocks
  2. Gold and silver are used
  3. The world consolidates on gold and drops silver
  4. Governments create national currencies backed by gold (The Gold Standard)
  5. Governments create a system of fixed exchange rates where the US Dollar is the world's reserve currency and only the US dollar is backed by gold (Bretton Woods)
  6. The U.S. drops the Gold standard, Bretton Woods disintegrates, and all currencies are traded according to floating exchange rates

It is critical to note in steps 5 and 6, use of national currencies was mandatory and exclusive. You couldn't use dollar to buy a coffee in Europe nor the English pound to pay your rent in America.

Saifedean believes in the next step Bitcoin will replace the dollar as the world's reserve currency. What does that even mean? It means that:

  • All national currencies are valued in terms of Bitcoin
  • Banks will use to Bitcoin to settle with each other
  • Critical commodities like oil will be traded in Bitcoin

As an interesting I want to mention Saifedean's thoughts on 'unsound food'. Saifedean also makes a fascinating argument that unsound money has led to unsound food. According to Saifedean, the US government used its power to print money to create agriculture subsidies that produced a global glut of soybeans and corn that arguably has created the world's obesity epidemic. That glut inspired tasty new processed food products that have made Americans ridiculously fucking fat. Sadly the trend has spread to the rest of the world. I have overstated the cause here, there are several causes but key ones are high fructose corn syrup and junk food made out of soybeans and corn. This argument is a bit of a stretch to say that unsound money caused it since the U.S. could have done the same under the gold standard it just would have been a lot more expensive and less likely to have been implemented. But back to more important points.

Lemme tell ya, The Gold Standard was awesome

The days of the global Gold Standard was fucking incredible, at least as Saifedean describes it. Wars were limited in scope because of governments couldn't print endless amounts of money to pay for them w/ out leaving it. If a country did take their currency off the Gold Standard, citizens would quickly switch to a one that was backed by gold, causing the rapid devaluation of the national currency. International trade was painless as currencies didn't fluctuate like they do today. So if this system was so great, why does no nation currently use the Gold Standard?

Well, as noted earlier governments naturally wish to print money to fund short-term interests at the expense of the long-term health of the national currency. An economist emerged in the 20th century whose popular theories gave national governments the intellectual basis to drop the gold standard and move to pure fiat money, i.e. money not backed by any tangible asset. That economist was John Maynard Keynes.

Keynes believed that governments should print money at will to stimulate the economy. As you can imagine, he was not a fan of the Gold Standard as it inhibits a government's ability to print money. Keynes ideas really took hold when American President Franklin Delano Roosevelt followed his policy prescriptions to address America's Great Depression. Keynes explanation for the causes of the Great Depression are now the dominant explanation taught in economics courses such as the one I took at university. Keynes' economic priniciples gradually came to dominate such that even the leader of the more conservative wing of economists, Milton Friedman, famously said "We're all Keynesians now."

To be clear the dominant explanation for the cause of America's Great Depression is that of the Monetarists, led by Dr. Friedman, which is that the U.S. entered a cyclical recession that turned into a depression when the Federal Reserve failed to expand the money supply sufficiently to address liquidity crisis causes by bank runs.

John Maynard Keynes
John Maynard Keynes, hero or devil?

We're all Keynesians now, except for the Austrians

According to Saifedean, all of Keynes ideas are fucking garbage and all of the theories that developed from them are also fucking garbage. That is all of modern economics! What's left? During the 20th century, there was another group of economists known as the Austrian Schoool that didn't buy into Keynes ideas of stimulating the economy by printing money. The Austrians, led by Friedrich Hayek and Ludwig Von Mises among others, focused on building economies on top of sound money, the business cycle theory, and this thing called praxeology (which I don't yet understand). They love gold and entrepreneurship. They hate central banks. These guys were on the fringes for the entire 20th century but always had a loyal following among libertarians. As an aside, Austrian economics is huge in the Bitcoin world because they see Bitcoin as the Gold Standard for a digital world.

The Austrians have a very different explanation for the Great Depression, claiming that it started with a credit bubble enabled by the Federal Reserve and was exacerbated by price and wage controls. The Great Depression, they argue, could have been avoided by not allowing the credit bubble to form in the first place and failing that, by relaxing the price and wage controls.

The Austrians place great importance on sound money and provide much of the intellectual inspiration for this book.

Saifedean loves the Austrians and so does the Bitcoin community by and large. I find the Austrians interesting but it is hard for me to discount all of modern economics. I am not yet convinced of the Austrians' ideas. The Austrians' ideas are very closely associated with libertarianism which I am not adherent of.

Finally Bitcoin

Saifedean does a great job explaining Bitcoin and how it could function as a reserve currency. The scalability limits of Bitcoin are a feature not a flaw as Bitcoin could easily handle all interbank settlements. It can't be VISA but we don't need it to be to serve a reserve currency. I strongly agree with him there. He also foresees the emergence of Bitcoin banks that hold custody of your Bitcoin and settle with each other. He does not expect the average user to be responsible for the custody of their Bitcoins. I also agree with 100% on that.

Saifedean also discusses blockchain in the large and alt-coins. He does not believe that blockchains can be used to represent real world assets such as real estate or stock equity. I very much disagree with him there and strongly believe that we will in time represent real world assets on blockchains but it will take a lot of technical and legal infrastructure to get there.

What I Loved

This was a financial history tour de force. While I am still unconvinced of some ideas of Austrian economics I appreciated his explanations of their ideas. His argument that Bitcoin will replace the US dollar is very compelling and should be taken seriously.

What I Didn't Love

An alternate title for this book could be "Keynes was an Idiot, a Terrible Person, and the World He Made is Trash." I appreciate the flaws in Keynesianism, thanks to this book, but Saifedean goes unnecessarily far in criticizing John Maynard Keynes the man. He cites Keynes' poor management of his own money and his work ethic for inspiring Keynes' ideas around how to stimulate an economy. He also spends inordinate time alleging that Keynes was a pedophile. I really don't give a shit about Keynes sexual history. Saifedean's dwelling on Keynes' personal faults is a distraction from his criticism of Keynes' ideas. Should there be a second edition, I recommend cutting out the discussion of Keynes personal faults.

Similarly, Saifedean spends part of the book discussing the poor quality of modern art and ties it to our modern unsound money and the short-term thinking it has fostered. He singles out artists Jackson Pollock and Mark Rothko for producing "garbage." While I am not familiar with Rothko, I really like Pollock's work. I also enjoy Caravaggio and have seen his work in person at Villa Borghese in Rome. However, I must admit that I quite possibly have bad taste. Saifedean might be right modern art is garbage but his argument here is much weaker than his others. In my opinion, this portion was also a distraction.

Summary

I recently read an article in the Economist that made it clear that mainstream economists just don't get it. Don't make the same mistake, read the Bitcoin Standard.

Goodbye VSCode, Hello Emacs (Again)

Some months ago I decided to reorient my development career from the DevOps space to web development with JavaScript. I at first tried to apply my editor of choice (emacs)but was continually frustrated by the mediocre support for working with JavaScript, particularly compared to Python. After wasting at least a day trying to get my Emacs config to support basic completion and syntax checking in JavaScript I came across the blog post 10 Years of love for Emacs Undone by one week of VSCode. The title really struck me as I have spent exactly 10 years with Emacs myself. I decided to top swimming upstream and jump wholeheartedly into VS Code. It has been a mixed experience.

I was instantly struck how amazing VS Code's support is for the JavaScript language, libraries, and the web environment. Every tutorial on react, Vue.js, Electron, you name it, recommends using VS Code. My VS Code experience became even better when I learned to drop //@ts-check in every file. VS Code's language support is so awesome that I highly doubt any other editor will ever seriously compete with it in that regard. At the same time, I hit a pretty significant pain point instantly. I use emacs keybindings everywhere, in the shell, browser, you name it. On OS X, Karabiner mapped those bindings for me and now on linux laptop with GNOME it is a top-level feature. In VS Code I found that I was constantly closing the editor accidentally or deleting a text in a buffer with the most common commands that I use thousands of times a day. Here are just a few. I probably have >100 in muscle memory.

  • M-f forward word
  • M-b backward word
  • C-w cut text
  • M-w copy text
  • C-SPACE start a selection
  • C-a beginning line
  • C-e end of line
  • M-a back paragraph
  • M-e forward paragraph
  • C-s search forward
  • C-j Change buffer
  • and many more

I found an emacs plugin for VS Code but it only muddled the situation memory as it only supported some commands and then with annoying bugs that made the plugin more trouble than it was worth.

I dropped the emacs plugin and tried to do things the VS Code way. It only kind of worked for me but I soon encountered more hurdles. As a developer, there is a whole set of things we do that are project-related tasks such as:

  • Working with git
  • Renaming files, moving them around
  • Maintaining a personal TODO list and logging errors, troubleshooting information in a personal log
  • Executing shell commands
  • Writing documentation in markdown, ReST, asciidoc

While VS Code likely has some support for these, I found the VS Code plugins in these areas lacking when I tried them. For example, I found jumping between projects with Project Manager very poor in comparison to Emacs' incredible Projectile. It is important to note that the Project Manager addon may have improved significantly since I last used it a few months ago. The existing git addons also pale in comparison to Emacs' fantastic git interface. counsel-git-grep across a huge codebase truly is a superpower.

I am one of those crazy people that runs a terminal inside of emacs. I even have a keybinding (M-j) that I use to toggle between character and line mode in the terminal. VS Code's terminal is OK but nothing to write home about.

I use Emacs dired mode for manipulating files and directories. It works ridiculously well.

More than magit, projectile, dired, I missed emacs' ivy completion framework more than anything else. You really have to see it to believe it.

So while I could use VS Code for writing JavaScript, I still found myself spending 30-50% of my work time in Emacs. The mismatch between keybindings in VSCode and rest of my tools just kept tying my fingers in knots.

So far I have talked a whole lot about the Emacs features that I miss in VS Code. But surely, you ask, won't VS Code implement all of those features even better than Emacs given the VS Code teams extensive developer resources? Maybe, but I would be surprised if they did. I doubt the VS Code team intends to give it a kitchen sink of capabilities that we see in Emacs.

After one month, I decided to reinvestigate using Emacs for JavaScript. I came upon the awesome Tide-mode. It took me about a day but I got it working to my satisfaction. It does not hold a candle to VS Code but it provides me enough features to be productive in JavaScript.

Some of the features tide-mode provides:

  • auto-completion (via company-mode)
  • linting
  • syntax-checking (together w/ flycheck)
  • documentation at point
  • basic refactoring

Here is tide-mode in action

tide in action

A few notes on using tide-mode:

  1. You have to drop a jsconfig.json (for JavaScript) or tsconfig.json (for TypeScript) into your project in order to use it.
  2. You have to install typescript into your projects for it to work optimally. As it leverages the tsserver that ships with TypeScript. Note that it does not need to be a project dependency. You can install it thus with npm install typescript
  3. I am using Emacs 26. Not sure how well this works with Emacs 25
  4. I haven't found a good way to fully support JSX in files with a regular .js extension. So far I have simply renamed any file containing JSX to .jsx in order to get web-mode + tide-mode to work properly.

I may be mistaken but I believe the tsserver that ships with TypeScript was developed by the same team that makes VS Code. It is not without irony that the Emacs mode I am using to replace of VS Code depends on software developed by the VS Code team.

VS Code is an excellent IDE and I would recommend any new software developer to use it. But with the excellent tide-mode, I no longer need to.

You can find my emacs configuration for JavaScript here.

P.S. I haven't figured out a great solutions for the following and would love to hear from you the readers.

  • Debugging - I still use VS Code but have looked into ndb. Don't know yet if it is a worthy replacement.
  • HTML element, css attribute completion - One of my favorite things about VS Code is that it supports completion and inline documentation for CSS and HTML, technologies that I know pathetically little about.
  • Browsing Mozilla, CSS documentation within Emacs - anyone have a good solution for this? iirc helm-dash has something useful here but I haven's seriously investigated it.
  • Auto-completion, linting for Flow - I don't use flow so I have been able to skip this so far but I very much would like to browse and contribute to the desktop application for Ledger and it uses Flow extensively.

P.P.S. Thanks so much to Anantha Kumaran for his work on tide-mode w/out which I would be stuck in VS Code.

Update: below is the magic incantation that I used in my web-mode configuration to get jsx syntax highlighting in regular .js files

    (setq web-mode-content-types-alist
          '(("jsx" . "\\.js[x]?\\'")))