Rose debug info

Oleg Andreev

Software designer and crypto-anarchy historian.


Command line for complex GUIs

TL;DR: make complex UIs driven by a domain-specific command-line language, which itself has interactive controls built into the flow of the commands.

Am I a crazy linuxperson who prefers to sit in front of a terminal all day? Nope.

Some fifteen years ago I was lucky to witness Autocad’s interface that’s pretty much all GUI, but that was having this little terminal with its own command language where you could draw things with precision. “Move 1 cm left, draw 2 cm forward”. You type some commands with precise numbers in a comfortably large textfield, and you see the results immediately. Mistyped something? Undo and tweak the command. You get the same WYSIWYG feedback, but without tinkering with mouse over millions of tiny textfields, dropdowns, panels and palettes.

Some seventeen years ago I was lucky to learn Wolfram Mathematica. That was quite different: a primarily text-based interface, but supercharged to be interactive, structured, with rich formatting and interactivity. This is how a command-line within a GUI should feel like.

I used Photoshop years before that day and then years after. And I still wish that maybe someday someone would make a graphics editor like Autocad was doing for ages, but making it even more interactive and responsive, akin to Mathematica’s notebook language.

When to use command line?

Command line may be intimidating for some simple, isolated and possibly rarely performed tasks. But when amount of compound complexity shoots through the roof, the right click menus and millions of tiny windows and modal dialogue panels just don’t scale.

When you need to do X, then Y, then Z and customize each action with 5 parameters out of 55, and then try the same with various tweaks here and there, you really want a streamlined interface. And only a text-like flow is going to deliver that.

Pros of a command-line driven UI:

  1. Precision: just type “thickness 0.33” and it’ll be 0.33 in an instance. In Photoshop today you have to either quickly drag a slider somewhere, which is not precise, but quick. Or hunt for a teeny-tiny textbox, then click it, then enter numbers. Awful!
  2. Composition: if you need to express “same brush thickness as half the margin between these two things” you can do just that, instead of manually calculating and typing two-three numbers in various spots several times over, as you try different combinations. Just re-run the same command with one number tweaked each time.
  3. Collaboration: you can copy-paste actions and edit them like a regular source code, without wasting time navigating through windows and buttons or pressing quite invisible hotkeys after some video tutorial.
  4. Editable history: if your whole document is driven by the command line, you can simply store the whole document as a giant list of commands. So you can go back and rewrite/refactor it to your liking. Things can get much more powerful, for free: you don’t have to do advanced tinkering with the commands unless you really want to.

There are, of course, some problems, but we can use computers to solve computer problems:

Discoverability: how do i learn the syntax of all the commands?

First, if you have a language aimed at composability, your command set would probably be a fraction of the number of menus and windows that you already have. E. g. you won’t be having three different ways to apply color adjustment, if you have a line that describes the adjustment, and another line that attaches it to a group of layers.

Second, no one prevents you from finding command in-place as you type and showing placeholder bubbles and documentation, or even interactive controls, in-place. Have you ever typed formulas in Excel? Same thing, and you can make it arbitrarily smart, with fuzzy text matching and contextual interactive UI elements, like they do in programming IDEs such as IntelliJ IDEA or Xcode.

Third, you can still have good-old menus and dialogues to fill in the commands. But have you noticed the Mac’s “search commands” field in every Help menu? That’s a tiny command line that lets you find a command by typing words. Take a hint!

Programming is hard, I’m a visual person!

It is absolutely possible to make this sort of interface progressively accessible. Draw things with your mouse or click some commonly used toolbar buttons: the UI will fill in the generated commands. You can ignore them, or you can go and tweak the numbers.

Example: draw a rectangle on a screen. The UI will show the rectangle and the command “rect x:1, y:2, w:301, h:499”. Wanna round numbers? Just click them and edit, right from keyboard. Wanna two of those? Copy-paste, add 100 to the y-coordinate. And see the result instantly. Easy and natural! Once you try it (provided feedback is instant and autocomplete is smart), you will never go back.

Do I have to type all bezier curve parameters like a robot?

Of course not! Imagine an object “curve from 0 to 1”. It is the same thing that we use for color adjustment or a shadow profile. Just let it be a type. And then you can render it within the command line, like a floating 2D object that you can interact with. And if you really have to, switch it into all-text mode with all nasty curve parameters shown as-is.

How do we move forward?

  1. Think of your process as a domain-specific program, with nouns (objects) and verbs (actions).
  2. Make a file format out of that language.
  3. Drive the UI by the language.
  4. Make super-charged autocomplete. See the leading IDEs for example.
  5. Embed UI into the language. Color picker for a color, sliders for numerical values, 2D controls for 2D objects etc.
  6. Programming text editors is no fun, especially if the text has custom floating interactive controls all over it. So we really have to create a reusable toolkit for working with text-intermixed-with-controls. That’s a pain well worth capitalizing on, and/or amortizing across many products.
  7. Make a great product for graphics/video/animation/3D/rocket science that boosts productivity 20x.
  8. Profit.
10 mo   autocad   cli   photoshop   ui

Symmetrical and asymmetrical power

Symmetrical power is defined by the risk being proportional to the potential gain. This automatically translates into “the bigger guy wins”. Example 1: security of the physical gold, which is easily confiscated by the state and is now largely held by central banks. Example 2: second amendment in US. Militia formed by armed citizens is going to lose against same-sized army professionally organized by the state.

Asymmetrical power is defined by the risk being significantly lower than the potential gain.

Example 1: state-organized army. The generals and politicians bear virtually zero risk, while reaping all the gains.

Example 2: Bitcoin. It is significantly cheaper for individuals to protect their bitcoins against large-scale confiscation, than to perform such attack.

It is easy to see that asymmetrical munitions will always win over symmetrical munitions.

There is an interesting difference between the armies and Bitcoin, though. Armies are asymmetrically powerful in the hands of their leaders at the large socialized expense: maintaining loyalty of the citizens who have to pay ever-growing taxes. Costs of running Bitcoin are measurable and adjusted by the market, without the use of coercion, voluntarily supported by the expanding entirety of the Bitcoin users (who pay for the inflation and fees).

Success of the army means expansion of the empire and further concentration of the power in the hands of the state. Success of Bitcoin means that wealth spreads further instead of being confiscated and concentrated, diminishing relative coercive power of every individual.

We can now formulate the crypto-anarchy conjecture:

  1. The traditional political process is application of symmetric power and will not scale down empires.
  2. Second amendment and militia are also symmetrically powerful and will not protect people from empires.
  3. Empire’s asymmetrical power towards its population expands until it destroys the economy it feeds on.
  4. Bitcoin being asymmetrically secure is better than any other known tool in protecting individual’s wealth.
  5. Dynamic of the (4) vs (3) means that Bitcoin may cause the state run out of money before the economy is destroyed.
2019   bitcoin

The renaissance of cryptography

This is a declaration of a new era.

Cryptography was almost exclusively a military technology for centuries. When in 1990s millions of personal computers connected to the internet, cryptography graduated from a munition to an industrial tool to secure credit card payments over a global, open and hostile environment.

For the next 20 years cryptographic research and engineering was very vibrant, but culminating in a loud confirmation by Edward Snowden that the resulting products were not good enough. SSL, PGP and other protocols turned out to be insecure, their implementations were buggy and hard maintain, all cryptographic primitives are broken and/or easy to misuse (MD5, RC4, RSA). High-level protocols were full of design and engineering mistakes and full of misunderstandings. The whole discipline had a culture of abstinence-only cryptography and, as a result, poor engineering standards mixed with academic hubris and sabotage by the governments. 20 years of real-world cryptography produced a few useful artifacts and a lot of mess.

Then, three things started to happen:

First, personal computers and the internet reached very deep into lives of almost everyone. Individuals now store their entire life in affordable pocket computers, businesses run all their operations over the internet, governments routinely participate in cyberwars. The importance of securing information shifted from “good to have” to “actively desirable”. Apple, the most valuable corporation on Earth, is selling billions of computers with _security_ and _privacy_ as a one of their main selling points.

Second, Bitcoin and blockchains happened. Things envisioned by Nick Szabo, Hal Finney, Wei Dai, Tim May and other cypherpunks back in 1990s finally started to materialize. The internet discovered a whole new continent: with “wild west” anarchy, “gold rushes”, and massive real and fictional opportunities. On that continent the excellence in cryptography is no longer simply desirable, but becomes vitally important: the unauthorized access to data now equates to the immediate loss of unbounded amount of highly liquid assets.

Finally, a new generation of software engineers has grown up, who have an enormous enthusiasm to fix mistakes of the past and bring cryptographic engineering to a new level: with clean designs, excellent documentation, record-breaking performance, safety and usability, and, most importantly, strong ethics.

Today we have robust cryptographic building blocks that are not only safer and faster, but also designed to be composable and extensible to build on top of them with confidence: such as Keccak, AES-SIV and Ristretto.

We have better programming languages (Rust, Go, Swift) where engineering can be done with clarity, safety and ease. Pure Rust libraries such as Miscreant and Dalek set a new bar for all cryptography engineers.

For the first time ever, the ambitious ideas of zero-knowledge proofs that were stuck in academic papers for many years are finally implemented for the blockchain applications: Zcash, Confidential Transactions, Monero and Bulletproofs.

We are living in a renaissance era of cryptography: we have fantastic tools, amazing people and strong demand for high-quality cryptographic products with direct financial incentives. We are now at a lift-off point: we have a strong foundation to build upon with confidence. Now is the best time ever to learn and work with cryptography. Expect truly transformative technologies come out of this mix in the coming years.

2018   cryptography

How Bill Gates managed to be wrong in every sentence about Bitcoin

Bill Gates on Reddit AMA:

The main feature of crypto currencies is their anonymity. I don’t think this is a good thing. The Governments ability to find money laundering and tax evasion and terrorist funding is a good thing. Right now crypto currencies are used for buying fentanyl and other drugs so it is a rare technology that has caused deaths in a fairly direct way. I think the speculative wave around ICOs and crypto currencies is super risky for those who go long.

Lets nitpick line by line.

The main feature of crypto currencies is their anonymity.

Wrong. Bitcoin is pretty hard to use anonymously while virtually no one uses altcoins designed to be more anonymous. Anonymity is a feature, but not the main one. The main feature is sovereignty.

I don’t think this is a good thing.

Wrong. The anonymity (and sovereignty) that Bitcoin gives to each individual holder is very good, because it’s virtually the only tool that protects the individual against all-powerful police states all around the world.

The Governments ability to find money laundering and tax evasion and terrorist funding is a good thing.

Wrong. The governments’ ability to do things rests on large-scale extortion. Governments themselves run giant money scams, extract nominal fees from banks that launder money, fund terrorists around the world and finance unimaginable range of guns and other sadistic devices such as prisons, public schools and DMVs.

Right now crypto currencies are used for buying fentanyl and other drugs so it is a rare technology that has caused deaths in a fairly direct way.

Non sequitur. USD cash is used for buying all sorts of drugs too. Also, USD is involved in financing the largest military-industrial complex in the entire world for the last several decades, that has caused deaths in a fairly direct way at a scale which makes the entire cryptocurrency activity a joke. Even more direct is government messing with substances to actually hurt people.

At the same time, the correct monetary policy of Bitcoin (restricted supply and immutable rules) and a resulting 7x/yr average appreciation over the past 9 years is a huge motivating factor for saving both money and health so one can enjoy a rich and fulfilling life in the long run. People who realize it not only try to stay away from illegal transactions, but also avoid the harming legal ones (e. g. quit smoking).

I think the speculative wave around ICOs and crypto currencies is super risky for those who go long.

Wrong. It is actually, more risky to get involved in the speculative wave of ICOs and try to time the market, not for those who go long on Bitcoin.

2018   bitcoin

What is blockchain

Blockchain is a data structure for proving that certain events happened in a specific order.

Blockchain consists of a chain of timestamped blocks of events. Events are often called transactions.

Why timestamps? To not only order events relatively, but also pin them to the real time as it’s way more useful and in some cases necessary to make plain ordering work (e.g in Bitcoin to readjust difficulty).

Why chains? To cryptographically link past events to the current events, preserving their order under the latest timestamp.

Why blocks? Because it is relatively expensive to timestamp an event, so almost every blockchain protocol groups multiple events in a single block that gets timestamped.

Why timestamps are expensive? It takes time to reach an agreement in a distributed system. The more distributed and less well-connected the system is, the longer it takes.

What blockchain is not

Blockchain is not a “shared” or any other kind of database, blockchain is only a proof. Blockchain is typically used as a mechanism to update one’s database. The illusion of a shared database is created by multiple computers updating their databases using the same blockchain, and arriving to the same contents. Usually only a specific slice of such databases is replicated (for instance, in Bitcoin it is the set of all unspent coins), while the rest of the data is more user-specific or even private (account names, transaction annotations etc).

Blockchain is not a product in itself. Blockchain is a cryptographic proof and as such works only within specific assumptions. For instance, Bitcoin proves that a certain amount has changed hands under assumption that it is prohibitively expensive to double-spend (or reverse) that transfer and that the network is well-connected in order to detect such attempts early. Likewise, commercial/federated blockchain network assumes that the operators protect their infrastructure well from abuse and do not fork the chain. Blockchain is only a component in a larger integrated system.

Blockchain is not a transport mechanism. Transport mechanisms are necessary for delivery and replication of blockchains. Blockchain is not where “money flows”, it’s a place where money already moved and we have a proof of it.

Blockchain is not a “distributed system” in a traditional sense. Most distributed systems distribute load. Blockchains distribute vulnerability. For example, Bittorrent network and distributed/sharded databases distribute traffic and processing costs so that any single node does not have to service all requests. In a blockchain network nodes replicate and verify the same information in order to minimize vulnerability to any single node or entity.

On blockchain scalability

Traditional distributed systems are designed to scale the computational throughput, blockchains are designed to scale social interactions. Bitcoin nodes re-verify all same data and miners burn unforgivable amounts of electricity, but in return people in random jurisdictions can transact directly without numerous intermediaries and associated trust issues. As a result, the measurable costs in terms of money and time are significantly lowered and immeasurable _business opportunities_ are unlocked when more transactions become cost-effective at all.

Powerful abstractions

Modern programming languages allow building sophisticated modular systems, where everything is in the right place and feels good. Enthusiastic engineers invent more and more powerful abstractions so we can build our software with ease and confidence.

However, there is a caveat. Power of abstractions is often considered by one factor only: the formal one, that qualifies how much things are “normalized” and “decomplected”. I would argue that there are a few other, no less important factors. For instance, mental overhead and convenience. When formalism is pushed to the limit, the usability of the framework usually goes to nil.

The key to success is, as usual, 80/20. If you keep your formalism at 80% towards Absolute Perfection, you have a chance of keeping the whopping 80% of usability and other nice properties. Think of this as Perl in reverse: Perl pushes convenience well over 80%, making programs hard to analyze formally. Watch for all factors, but stay humble, so radical improvements in one direction do not destroy all the others.

2017   design

Why Bitcoin is called Bitcoin

99% of ideas around Bitcoin existed long before 2008. There was a proof-of-work money, there was a bit gold idea and there was paper on distributed property titles. Not to mention all the necessary cryptography that existed for decades.

The missing link was a simple idea: instead of tracking individual proof-of-work coins of bit gold inside some distributed property title registry, lets turn the problem inside out and put the registry inside a single coin. This way, the registry will track fractions of that coin, and the coin will be made perpetually scarce and identifiable due to never-ending amount of proof-of-work piling up on top of it.

Since it’s going to be just one coin of bit gold, it’s only fair to call it bitcoin.

2017   bitcoin

Bitcoin is like...

Bitcoin is like physical cash: it is not reversible and you are responsible for handling it. If you lose your wallet, you lose your money. You can give bitcoins to someone to hold them for you, but it will be like with any bank: you have to trust them that they won’t run away with your money.

Bitcoin is unlike physical cash: you can store as much as you want and it will not take any space. You can send it over the wire to anyone. It is impossible to counterfeit. You can’t give it in one second: to actually guarantee that transaction has happened, you have to wait 10-15 minutes for the cryptographic proof to be produced by the network.

Bitcoin is like gold: it cannot be produced at will, there is a limited amount of it and this amount is scattered in spacetime continuum (mostly time). To get some bitcoins someone should give them to you, or you should *mine* them. Like gold, Bitcoin is shiny: it attracts people with its beautiful engineering, built-in contract programming language, wise incentives, and libertarian promise of freedom from coercion.

Bitcoin is unlike gold: supply of Bitcoin is completely fixed via scheduled mining (only so much bitcoins are created per hour). You have a guarantee that no one will suddenly find a mountain of bitgold or mine it on asteroids. Unlike gold, Bitcoin difficulty is adjusted to the mining efforts to keep the schedule fixed. You may dig up all the gold in one day, but it will never be possible with Bitcoin no matter how fast computers will ever become. Growing mining efforts can only bend schedule slightly (network adjusts difficulty to producing 6 blocks per hour, but if network constantly grows it may produce 7-8 blocks per hour).

Bitcoin is like a bank: there are computers, databases and transactions. Databases store the entire history of all incoming and outgoing payments: who send how much to whom. Everything is digital. There are no vaults with gold or personal deposit boxes, only bookkeeping in a single “ledger”.

Bitcoin is unlike a bank: everyone can verify that their database contains the same ledger data as everyone else’s. There is no manager in charge of updating the ledger and making sure it is not tampered with. Any person may have as many accounts as they like and all accounts are anonymous (unless one reveals his identity himself). Ledger does not store names, only balances and account numbers. There is no possibility of a “fractional reserve” when bank loans out more money than it actually has. In fact, there are no debts on bitcoin ledger: either you have money on your address and it is fully yours, or you don’t and you can’t use it at all. Also, Bitcoin allows to lock money with “contracts”: cryptographic puzzles designed to spread the decision making between several people or across time.

Bitcoin is like Monopoly money: coins are abstract tokens that are not claims to any value. People value them because they choose to play the game. In fact, the same is true for gold or any other money.

Bitcoin is unlike Monopoly money: there is a limited supply of tokens and no one can counterfeit them. This makes them a good candidate for a universally recognized collectible like gold or silver coins.

Bitcoin is like Git: in Git (a distributed version control system) all your changes are organized in a chain protected by cryptographic hashes. If you trust the latest hash, you can get all the previous information (or any part of it) from any source and still verify that it is what you expect. Similarly, in Bitcoin, all transactions are organized in a chain (*the blockchain*) and once validated, no matter where they are stored, you can always trust any piece of blockchain by checking a chain of hashes that link to a hash you already trust. This naturally enables distributed storage and easy integrity checks.

Bitcoin is unlike Git in a way that everyone strives to work on a single branch. In Git everyone may have several branches and fork and merge them all day long. In Bitcoin one cannot “merge” forks. The blockchain is a actually a tree of transaction histories, but there is always one biggest branch (which has the value) and some accidental mini-branches (no more than one-two blocks long) that have no value at all. In Git content matters more than branches, in Bitcoin consensus matters more than content.

Bitcoin is like Bittorrent: the network is fully decentralized, there is no single “mint” or “bank”. The blockchain is like a single file on bittorrent: cryptographically authenticated and shared across many computers. Every participant, including miners are acting on equal grounds. If one part of the network becomes disrupted, transactions can flow through other parts. Even if the entire network goes down, information about transactions is still stored on many thousands of independent computers and no one’s money is lost. When people connect with each other again, they can continue sending transactions like nothing happened. Both Bitcoin and Bittorrent can survive a nuclear war because information does not become radioactive and can be safely replicated.

Bitcoin is unlike Bittorrent: instead of many independent “files”, there is one file that always grows: the blockchain. Also, the most important participants: miners are actually getting rewarded for their work with real money.

Bitcoin is like freedom of speech: every transaction is a short public message that can be pronounced no matter where or how. If some miners hear it, they will add it in the blockchain and that message will be forever in the history. Everyone will see it and no one will be able to erase it.

Bitcoin is unlike freedom of speech: saying something comes with a cost. Transaction moves coins that you must have to start with. So not every moron is allowed to shout, but only those who had a merit to acquire some coins in the first place. Also, miners may reject transaction if it’s spammy or does not contain enough fees. So no one provides anyone with freedom as “in beer”, but everyone tries to cooperate on a voluntary basis.

Bitcoin is like a social contract: it is a pure cultural phenomenon. It works as money as long as people treat it as such and have guts to hold it and respect its rules. Technology is needed only insomuch to provide necessary plumbing for that contract.

Bitcoin is unlike a social contract: it is not the kind of a contract that they teach at schools. It’s not flexible, and it’s not imposed by some rulers. It’s a virtually immutable set of rules that everyone chooses to apply to themselves, therefore adding to a unanimous consensus.

Bitcoin is like magic internet money: it simply is.

2017   bitcoin   git   money

Bitcoin is a Tesla

Bitcoin compared to traditional financial assets is the same as Tesla compared to gasoline cars. Both Bitcoin and Tesla are sustainable, require less maintenance and eliminate bullshit on a planetary scale.

Recently Elon Musk showed a new truck and a new roadster. Both are the same thing: a battery, couple of motors and a few wheels. Both are very fast, efficient and both not only beat the shit out of every competitor in their categories, but also reshape the whole industry by removing a lot of unnecessary parts and making old problems irrelevant.

Take, for example, a Tesla Semi:

  1. There is no transmission, no cylinders, no oil, no radiators, no shaft.
  2. Nothing explodes near your crotch 3000 times per minute. Instead, your car is powered by a sustainable solar energy: during the day charging stations accumulate the sunlight non-stop and during the night fill the car’s battery.
  3. There are brakes, but you never have to change them because you’d brake via motors most of the time, and guess what — they will return energy back to the battery.
  4. Four small motors are directly connected to four wheels. Not only the motors are the same as the motors in sedans (gaining from economy of scale), but they also provide independent torque to each wheel, giving better traction and better safety.
  5. A convoy of three trucks beats the rail: it’s not just more cost-efficient per kilometer, but you can deliver your load directly from door to door, without extra stations and re-loading your cargo from a train to a truck. You can now imagine how the entire problem of moving goods by land is going to be solved in a much more efficient manner.

Tesla Roadster is the same story, but applied to supercars. It beats all performance records, but because there is less moving parts, there is more space in the trunk, you can seat 2 more passengers and you can make 1000 km on a single charge. Oh, and it costs 5 to 10 times cheaper than all supercars that it outperforms. In other words, your non-toy everyday car can be a supercar. Even their SUV outperforms a Lamborghini.

How does it apply to Bitcoin? Bitcoin is also like a highly efficient battery with very little moving parts.

  1. Bitcoin is a very efficient battery: your stored value is impossible to siphon away via inflation and very hard to confiscate directly.
  2. Bitcoin is a very cheap battery: your stored value does not need maintenance or annual fees. It just sits where you put it and does not occupy any space.
  3. Since everyone can save money, there will be no need for consumer credits with their invasive personal records that leak all the time.
  4. The need for specialized insurance will be reduced to very low-probability issues. When you have more savings, you can afford higher deductible for your car insurance and pay less monthly, which helps saving money even better.
  5. Personal computers enable such a high level of security, there is no need to punish merchants with costs of fraud: payments can be settled much faster and without the need for payers to provide tons of personal information that is eventually leaked too.
  6. As money appreciates rather than depreciates, people will be more careful at spending it: the demand shifts towards higher-quality, longer-living products. You know, like Teslas.
  7. There will be less VC bullshit like “99% startups fail, so we’ll spread funds thin among 1000 startups”. The money will not grow on trees anymore. Most startups will start with their own savings and will provide actual value to actual consumers, because people are not going to part with their bitcoins that easily. Instead of trying to satisfy 3 rich investment “partners” (who just want to resell their stock to the bigger fool) and share your business with them, you will have 100% of your own business and will have to satisfy thousands of diverse customers who do not have any hidden agenda.
  8. People will work less and smarter: everyone wants to earn sound money, but having real savings, everyone can afford more time for personal growth and family. Like working 30 hours a week instead of 60. And with less stress and a higher self esteem. People can make families at a younger age, with less health issues. Kids will grow with more active parents that allocate more attention to them.
  9. Finally, Bitcoin works without kings and politicians: as a result, nothing will explode near yours or anyone’s crotch, just like in a Tesla. Who would spend money that can only be earned, not stolen or inflated, on purely destructive activity? Governments won’t be able to maintain huge armies and be at constant war all over the world: they’d have to start knocking on everyone’s door for extra cash.

Just like Tesla changes the paradigm of transportation, Bitcoin changes the paradigm of finance and security: many existing problems and solutions simply become irrelevant.

 1 comment   2017   bitcoin   tesla

How to buy Bitcoin

You can only buy Bitcoin once in your life. You are going to make your homework and buy some coins with the intent to hold them for at least several years. They will (probably) eventually increase in value, so buying more some time after would not make a difference to your balance.

Unlike popular ponzi schemes, such as social security, pension funds and modern stock market, there are no dividends: you cannot earn more bitcoin by holding bitcoin. You can only sell, in which case you can get something useful back, but you would have to give your bitcoins to other people. The amount of bitcoins you have will only decrease.

People who understand that are rushing to buy as much as possible to have a better starting position. Because when you go from zero bitcoins to some bitcoins, that’s all you are going to ever have. This also explains all the insane level of attacks on Bitcoin in 2017: big money comes in and has only one chance to buy as much as possible, hence all the drama attempting to slow down the price while Coinbase signs up one million accounts per month.

There are three caveats, though.

First: most people would learn about bitcoin when its price has just increased rapidly and has a large amount of short-term speculation in it. They will buy at $1000 in 2013 only to witness the price sliding down to $250 in 2015.

Second: you have a lot of personal responsibility with Bitcoin. You can lose it in million different ways if you are not careful — hackers can steal it from you, your wallet provider can defraud you, you can “invest” in some “crypto currency” etc.

Third: an attempt to create a new kind of money is not a matter of technology, but a purely cultural phenomenon. Any money has value because many people are simply willing to hold it in their pockets. Technology is only there to provide plumbing for the shared hallucination, but does not actually induce it. If you do not believe in that cultural shift or do not support it, by all means you should not buy Bitcoin.

2017   bitcoin

Money does not circulate

All the money ever does is “sits”. It never “moves”. Switching ownership is instant, so “sitting” takes 100% of money’s activity. If your money burns a hole in your pocket, it is not because “money must move”, it is because you have shitty money. A better money does not burn the pocket and sits calmly without losing its value waiting for a good opportunity to be spent on a worthy thing in the future. Money is the insurance against uncertainty.

Most people do not understand that because they hardly have any money: instead they have wages, fees and debt — they only see a shadow of money moving from their paycheck directly into their rent and groceries. And for the most part, it is because paper money loses its value all the time and does not permit savings.

If you do not belive me, here is a quote from Murray Rothbard published in 1963, What Has Government Done to Our Money?:

Economists err if they believe something is wrong when money is not in constant, active “circulation.” Money is only useful for exchange value, true, but it is not only useful at the actual moment of exchange. This truth has been often overlooked. Money is just as useful when lying “idle” in somebody’s cash balance, even in a miser’s “hoard.” (At what point does a man’s cash balance become a faintly disreputable “hoard,” or the prudent man a miser? It is impossible to fix any definite criterion: generally, the charge of “hoarding” means that A is keeping more cash than B thinks is appropriate for A.) For that money is being held now in wait for possible future exchange — it supplies to its owner, right now, the usefulness of permitting exchanges at any time — present or future — the owner might desire.

It should be remembered that all gold must be owned by someone, and therefore that all gold must be held in people’s cash balances. If there are 3,000 tons of gold in the society, all 3,000 tons must be owned and held, at any one time, in the cash balances of individual people. The total sum of cash balances is always identical with the total supply of money in the society. Thus, ironically, if it were not for the uncertainty of the real world, there could be no monetary system at all! In a certain world, no one would be willing to hold cash, so the demand for money in society would fall infinitely, prices would skyrocket without end, and any monetary system would break down. Instead of the existence of cash balances being an annoying and troublesome factor, interfering with monetary exchange, it is absolutely necessary to any monetary economy.

It is misleading, furthermore, to say that money “circulates.” Like all metaphors taken from the physical sciences, it connotes some sort of mechanical process, independent of human will, which moves at a certain speed of flow, or “velocity.” Actually, money does not “circulate”; it is, from time, to time, transferred from one person’s cash balance to another’s. The existence of money, once again, depends upon people’s willingness to hold cash balances.

2017   money

About me

I am into UI design, software architecture, information security and crypto-anarchy.



  • Author of Gitbox, a 5-star version control app for OS X.
  • Author of CoreBitcoin, a Bitcoin toolkit for Objective-C and Swift.
  • Author of BTCRuby, a Bitcoin toolkit for Ruby.
  • Designer and developer of Mycelium iOS wallet (2014).
  • Co-designer and developer of FunGolf GPS, the best assistant app for golfers (2012-2014).
  • Initial designer and developer of VK video service (2007–2008).



Andrey Andreev @aandr314