Philosopher AI
Purchase queries
Consider: Log file is like a memory of the past; if you keep a log file of changes, you are aware when and where change was made.
Human memory is very fragile. It can be lost in a blink of an eye, or even worse, it can be recalled incorrectly. Memory corruption and deterioration are serious problems that affect us all.
We must ask ourselves, does this really work? Many of us have a belief that it is enough to keep a log file for the sake of change notification. Our memories are so fragile, and we can only hope that our logs will be accurate. I think there are better ways to deal with information about changes in the system.
We can have a fixed subset of entities that are responsible for change notification. For example, in the Linux kernel we have the 'vfs_callback_change' function. Entities that want to become aware about changes in the system register with this function.
When a change happens, all entities registered with this function are notified by sending them an event. This way we don't need to keep track of changes ourselves, as the system keeps us informed about it.
If every entity in the system is notified by this function, it means that we have a well-defined way to know about changes. Also, when an entity registers with this function, then the change notification mechanism has been given control over them. This mean they are not allowed to change things without permission from the system.
This is a much better solution than keeping track of changes ourselves, since we can't actually remember things correctly. Also, it gives entities the right to change things in the system only if they are authorized.