Birthday Database Notes

Opt-in birth date database inspired by LambdaMOO Birthday Machine
(and its many predecessors). Also generates reports on user age
distribution.


* Functions

- register user birth date
- list birthdays today
- display user birthday cake
- hide user birth year/age in b'day list
- hide user b'day (use birth date for statistics only)
- list b'days for given day or month
- list b'days between two month-days
- list birth dates in given day, month, year
- list birth dates between two dates
- update user activity timestamp (bddb use or last login)
- show birth date for given user
- show distribution of user ages

* Ideas

- bddb is accessed with one script, bday ("Birthday Machine").
- bday w/out arg's will list today's b'days and cake on user's b'day
 (suitable to run from login profile script).
- Support date formats: yyyy mm dd, MMM dd yyyy, dd MMM yyyy
 Where: dd - day of month (1-31)
        mm - month number (1-12)
        MMM - month name (3+ character abbreviation)
        yyyy - A.D. (4-digits, Y-100 < yyyy < Y)
        Y - current year
- Why not make life easier and make all dates "yyyy mm dd"?
- can all functions be deduced from arg combo?
- encrypt db
- e-mail cake to users who "miss" b'day

* Syntax

|---+------+-----------------------+------------------------------------|
| 1 | bday | [-p n] [+ yyyy mm dd] | Register user birth date; Set      |
|   |      |                       | privacy level:                     |
|   |      |                       | -p1 Display user b'day only; use   |
|   |      |                       | year/age for stat's only           |
|   |      |                       | -p2 Use birth date for stat's only |
|---+------+-----------------------+------------------------------------|
| 2 | bday |                       | List users w/ b'days today;        |
|   |      |                       | Display user b'day cake            |
|---+------+-----------------------+------------------------------------|
| 3 | bday | [-u] USER             | Display USER's b'day               |
|   |      |                       | (-u is for differentiating syntax  |
|   |      |                       | 3 from 4 (for month only IF MMM    |
|   |      |                       | supported)                         |
|---+------+-----------------------+------------------------------------|
| 4 | bday | [yyyy] [mm] [dd]      | List users w/ b'days in given      |
|   |      |                       | month/month-day/year-month/        |
|   |      |                       | year/date                          |
|---+------+-----------------------+------------------------------------|
| 5 | bday | yyyy mm dd yyyy mm dd | List birth dates between dates     |
|---+------+-----------------------+------------------------------------|
| 6 | bday | mm dd mm dd           | List b'days between month-days     |
|---+------+-----------------------+------------------------------------|
| 7 | bday | -g                    | Graph birth date dist. by year/age |
|---+------+-----------------------+------------------------------------|
| 8 | bday | -m                    | Graph b'day dist. by month         |
|---+------+-----------------------+------------------------------------|
| 9 | bday | -hV                   | Display help/version               |
|---+------+-----------------------+------------------------------------|