Had an idea this morning that I could try "programming" my life as a state machine or a giant "if-statement."
When we program an app, we try to anticipate edge-cases and malicious behaviours of our users.
Using that as an analogy, the "user" is myself, and the programmer is... also myself. Except the programmer is the person I want to become — productive, charismatic, determined, decisive, etc. And the user is the person that I sometimes become when I lack the motivation, self-control, and am I dealing with unexpected events and requests.
We can then create a trigger mechanism that we try to "brainwash" or "program" ourselves into adopting.
For example:
if (am_in_productive_mode && girlfriend_called_to_go_see_movie) {
executeFallback()
}
Once these trigger-response mechanisms get documented and slowly adapted and turned into habits, we will start to gain control over our lives. We can also continuously improve ourselves by adding new response mechanisms and modifying/improving existing ones — just like how we do with building software products.
Anyway, just a quick idea for now. More details can be expanded later on if I decide to come back to expand on this idea.