Allowance Calculator

Example usage of wiki and the Method Plugin to compute allowances for a couple children. We annotate this example with commentary about the implementation and some rationale for the computations themselves.

We use allowance as a vehicle for life lessons about managing money. We prefer a simple accounting system to cash in a piggy bank. We hope for 1) low maintenance for a couple busy parents, 2) an electronic view of money (credits in a ledger) that more closely resembles modern banking systems, and 3) to keep the actual money in our own pockets until it is converted into stuff the kids ~~will break or loose~~ want to play with. ;-)

We gradually increase the ~~risk of buyers remorse~~ purchasing power by setting their allowance as a function of the child's age: $0.50 per week per year.

Today

7 (day) per (week)

Age 0.5 Rate (dollars / week) Balance (dollars) Today Start CALC Age * Rate SUM Allowance (dollars / week) CALC Today - Start SUM Period (week) CALC (Period * Allowance) + Balance SUM Piggybank (dollars)

The Method Plugin can find values from items above and to the left. If you look at this page alone, there are a number of errors displayed above. Discover what's missing by hovering your pointer over the `*` in the error messages: e.g. `can't find value of 'Age'`. We provide `Age`, `Balance (dollars)`, and `Start` on separate pages. This allows us to reuse this computation for different children by keeping a page specific to each child.

Two features will make this simple calculator especially low maintenance for me: 1) the kids can check their own balance; 2) the calculation stays up-to-date. My only maintenance is occasionally recording purchases and updating `Age` on birthdays.

.

I exposed a few usability traps in these plugins while trying to construct this computation.

The method plugin can see all these external values, but I must explicitly "import" them into a specific `method` item by referencing their names.

15 MAR 2018 Ides of March

No "imports" here. _Change the `debug` value to confirm that the method item does actually know about the values referenced._

CALC Today - Ides 0 debug

Here we "import" the date values before `CALC` by referencing them.

Today Ides of March CALC Today - Ides

Another bit of confusion... `CALC` seems to understand partial names, but the "import" lines need the names spelled out completely, including the unit annotations, if the original value includes explicit units.