> In reality, the bank does not just store the money we deposit. It loans away/invests most of the money that people deposit. Our money does not sit idle in a large pile in a vault. Nope. In reality the money doesn't exist. Amazing how many people think that somewhere a cartload of money is physically moving every month when they get paid. When was the last time you deposited anything in a bank? The abstraction is ev…
This is going to sound weird but even if it was actual coins (say) would that make the whole thing any more "real"? Either way it's a symbolic system and it doesn't really matter if you execute it on an abacus, or in a digital computer, or by writing in a book and carting bags of coins around. I think the parts that are missing from most people's mental model are things like the role of the central bank, and the fact…
Programmers should never trust anyone, not even themselves
31–40 of 163 posts
Re: Programmers should never trust anyone, not even themselves
#32> Failing tests indicate the presence of bugs, but passing tests do not promise their absence. If only :) Far too often I find myself working with tests that patch one too many implementation details, putting me in a refactoring pickle
Or even worse, tests that test implementation details that doesn't matter for the actual outcome.
But look! Thousands of tests and they all pass! Taste the quality!
Re: Programmers should never trust anyone, not even themselves
#33> In reality, the bank does not just store the money we deposit. It loans away/invests most of the money that people deposit. Our money does not sit idle in a large pile in a vault. Nope. In reality the money doesn't exist. Amazing how many people think that somewhere a cartload of money is physically moving every month when they get paid. When was the last time you deposited anything in a bank? The abstraction is ev…
This is going to sound weird but even if it was actual coins (say) would that make the whole thing any more "real"? Either way it's a symbolic system and it doesn't really matter if you execute it on an abacus, or in a digital computer, or by writing in a book and carting bags of coins around. I think the parts that are missing from most people's mental model are things like the role of the central bank, and the fact…
Yes, because then there would be a physical limit on what banks can do. They would have to invent cloning machines or alchemy or whatever to do what they currently do. In other words, it would force bank to actually do the model most people (including the author) have in their heads, namely a bank stores cash and lends it out (called fractional reserve banking).
In reality, without any such physical constraints, the banks are essentially free to "create" money out of thin air by issuing loans. That's how the money supply became 99% "bank money" and only ~1% physical money.
Re: Programmers should never trust anyone, not even themselves
#34Earlier quoted context omitted.
To the contrary, trust arises from being able to verify. Otherwise, you never know whether a failure is because of ill intentions or errors. That's why I very much dislike “trust, but verify”. I prefer “trust, and verify”.
What's the meaning of "I trust you that the amount of cash you've given me is correct" when you then proceed to count it? If you're verifying, why do you need to say "I trust you"? A trustworthy and an untrustworthy person will get equally verified.
I trust that you will give me the money. I also trust that you counted the right amount. But I still want to make sure you did not make a mistake.
Re: Programmers should never trust anyone, not even themselves
#35What does it do to the psyche, to not be able to trust anyone?
Re: Programmers should never trust anyone, not even themselves
#36What does it do to the psyche, to not be able to trust anyone?
The second one largely has to do with ego and is the one that creates insecure people who usually hold others to different standards than themselves, the first is just a realistic view of the world and thus very useful
Re: Programmers should never trust anyone, not even themselves
#37Re: Programmers should never trust anyone, not even themselves
#38> In reality, the bank does not just store the money we deposit. It loans away/invests most of the money that people deposit. Our money does not sit idle in a large pile in a vault. Nope. In reality the money doesn't exist. Amazing how many people think that somewhere a cartload of money is physically moving every month when they get paid. When was the last time you deposited anything in a bank? The abstraction is ev…
I don't think the author was under the impression that banks physically store money. They meant the digital currency does not sit idle on the bank's asset list. They're just using normal human language.
If this sounds silly it's because it is. I thoroughly recommend anyone who is confused to a) do their own accounts and b) invent a silly currency inside your accounts and start a bank for your imaginary friends. Just add trust and government support to your bank and you'll be like any other bank.
Re: Programmers should never trust anyone, not even themselves
#39Re: Programmers should never trust anyone, not even themselves
#40> verifying code correctness is impossible Somehow, taking into account the state of our industry, yes. But this is not an absolute truth. I mean, we do have the theoretical frameworks and even tools to come with solutions that allow to proof that code is correct. It’s just that mapping this "know how" with the "how to deal with the expected flow rate feature" is very uncommon.
I may be misunderstanding, but isn't part of the problem that these tools are themselves written in code and therefore subject to bugs?