If there is only $100 in the economy, I can still owe you $105. To pay it back, I could start working for you and be paid $1 per hour. Now everytime you pay me $1, I would pay you back this dollar until my debt is zero.
In the real-world, with more than two persons, it would look more like this: I pay you back some amount of the debt, you spend this money and it propagates through the economy, until some part of it reaches me (in the form of a wage), so that I can use it to pay back more of the debt.
I realize that the amount of debt can be larger than the total amount of money. In fact given every dollar in existence is on loan from the federal reserve the total amount of debt will always be higher than the total number of dollars in the system by design. The question is, how does the system not implode under the massive amount of debt that is ever increasing?
TCP doesn't "break" connections like that. Cleanly closing sockets breaks connections, but machines that crash or drop off the network won't be noticed until the connection times out, which is typically on the order of many minutes.
I realize that. My point is that existing locking systems work this way. For example, MySQL releases any table locks, rolls back the transaction and drops all temporary tables whenever the connection is closed or times out. This is no worse than what we already have.
The two generals problem doesn't mean distributed transactions are impossible. It just means that you cannot guarantee liveness, i.e. a distributed commit protocol might block if the network fails. But it will never yield an inconsistent state (one node commiting and another node aborting).
Language gets in the here. But all 'distributed transaction' systems rely on the idea that once every party has agree to commit, it CAN commit. That might not be the case (I have seen it no be so often).
The author is wrong. Distributed transactions are possible, for example using the Paxos algorithm. In Paxos, if the network fails, the system will block (i.e. become unavailable) until connectivity is restored. It's not possible for one node to commit and the other node to abort.
You, sorry to say, utterly incorrect. The Paxos algorithm offers a clever way to making the choise of a single transactional arbitrator dynamic. For each transaction, it might be different, but for a single transcation, Paxos is only stable if the transactional co-ordinator is stable. if the network fails then an unknow state can be achieved and the entire system will have to restabalize to the values held in the single co-ordinator for the broken transaction.
Did you even read the Paxos Commit paper? There is no single arbitrator. And what is 'unknown state' intended to mean? The system will obviously always be in a known state. It will just block as long as there is no network connectivity.
In practice, it is not di±cult to construct an algorithm that, except dur-
ing rare periods of network instability, selects a suitable unique leader among
a majority of nonfaulty acceptors. Transient failure of the leader-selection
algorithm is harmless, violating neither safety nor eventual progress. One
algorithm for leader selection is presented by Aguilera et al. [1]
"
"
The algorithm satisfies Stability because once an RM receives a decision
from a leader, it never changes its view of what value has been chosen
"
Fundamentally, the idea is that the leader is the transactional arbitrator using the RM as the recorder of that transaction.
For apps sold on the Android market Google takes a 30% transaction fee, which is split between the payment processor and the carriers. Since AFAIK Google Checkout is the only supported payment processor, that should give them some revenue.
> In a true free market scenario with freely floating currencies, currencies in countries like Spain, Italy, Ireland, Greece would have devalued. Germany's currency would have strengthened. This would have made German exports (to other EU countries) much less competitive than they currently are.
Well, even without free-floating currencies, countries like Greece could just lower the wages, which would in turn reduce the price-level of Greek products, making them more competitive.
Yes, but this would not help the debt of the people (and government). In fact, it would make things worse. This is the problem that Greece and Ireland are facing. Those governments are reducing expenditures but their debt payments remain the same. They are getting squeezed.
In a truly free market situation the bond market likely would have stopped buying Greek bonds because of the fear of currency devaluation long before their structural problems became overwhelming. Sometimes though the bond markets make a bad bet and currency devaluation becomes necessary. That's the free market. There's risk in buying bonds. However, in the EU the bonds have an implicit guarantee from the ECB, Germany, and France.
the bond market likely would have stopped buying Greek bonds because of the fear of currency devaluation
There's a reason why this kind of thing might be true, because bond holders might hope for intervention, as indeed happened. But I doubt it in this case: (i) the Euro treaty forbade intervention, and (ii) the CDS markets, which one would think would be very sensitive to risk of default, were not worried until shortly before the bond markets proper were.
I was talking about a scenario in which Greece wasn't part of the Euro. The bond market would have attempted to factor in the risk of default or currency devaluation in its purchases of Greek bonds.
Ah, I misunderstood: by free market you meant exchange rates, not the bond market.
But note that the Euro is for the purposes of this situation equivalent to the gold standard. Fixing exchange rates means trading the risk of currency depreciation for an increased risk of default, as we seem to be assuming the bonds are issued in the local currency.
The issue here seems to have been ignorance on the part of bind investors to the reality of the Greek situation.
Regarding point 2, I wonder how much of a benefit Itanium would see from JIT-compiled languages, because the JIT could then dynamically arrange instructions to maximize ILP.
While I certainly think this would make for interesting research, I think the runtime-complexity of VLIW algorithms (such as Monica Lam's "Software Pipelining") would definitely interfere with the upper-bounds for compilation time of JIT compilers.
(But, then again you could always use a background optimization thread...)
I agree. The US is in a deflation and I don't think the Fed will be able to stop it. So cash should gain in value. Just make sure to put it somewhere safe, as banks may go bankrupt in a deflation and the FDIC will most likely not be able to guarantee all deposits.