. Imagine Jim owes you $10, and you owe Bob $10. Well, that's easy. Tell Caffeinator "reassign $10 from Jim to Bob" and suddenly Jim owed Bob $10, and you were out of the picture.

Yeah, except Jim isn't good for the debt, so you were never going to collect unless you tracked him down and beat him severely... no, not even then, because Jim hasn't got any money! You not only just stiffed Bob for the $10, you also just gave him the added burden of skinned knuckles and having to listen to Jim's annoying whining about his inability to pay as Bob larrups the stuffings out of him in frustration.

I would think that people bright enough to build that kind of system would be able to handle buying a coffee pot and brewing some coffee right there at the office instead of having to send out for Starbuck's every day.

Debt is a terrifying book. A friend of mine once said of Marx's writings that the have a lot of good, penetrating observations and analysis of the World, but the conclusions and recommendations are less good. I felt the same way about Debt. It was really eye-opening.

A previous workplace used to have Joe's Coffee Money. 10 tokens for $1, and refill the pot yourself at appropriate times of day. It was profit-based rather than debt-based money, and after enough excess profits had accumulated to pay for new pots/etc, Joe would occasionally buy a box of donuts for the lab.

I don't think so... I'm pretty sure that routine is the traditional way of calling the Pay_Everyone_Else method, and if you don't run that unwarranted bonus routine, the warranted bonus object gets a segfault later on too...