Funny you’re asking this, I have the same problem and had an idea about a solution.
Even though recent events forced me to delay the coding, I am hopeful that this can help me do a dynamic semi-selfsorted list where I can dump all the things I want to read (be it articles, books, studies etc) and help me get to the bottom of it. I will of course make the code available somewhere.
The idea is to have an sql database that contains everything you want to do. The python script picks 2 entries and ask “If you die in a year from now, wich activity minimized regret the most?”. The answer will probably be a cursor from activity1 <-> neutral <-> activity2. The scores are then calculated using the ELO scoring. This pair comparison algorithm allows to quickly rank your lifegoals by importance.
But that’s only half of it. It will also ask “which activity takes the most time to complete?/If you had one hour, which would be a better investment?” to rank activities by time to complete (also using ELO).
If you do a few comparison a day and don’t add too many entries you can then display a rank by “importance score minus by time score” to see what is the most important thing to you that also takes the less time. Or something like that. I expect some fine tuning for this.
The idea is to have an optimized and dynamic todolist that can help you to juggle between short time goals and life goals.
I’m thinking of managing my “toread” list the same way, but automatically deriving the time score from the length of the article.
What do you guys think? Any idea how to make this better? I just started and plan to learn quite a bit by trying to make this work. Any opinion is much appreciated. I will put this on github at the end. Should I publish it here also?
Interesting idea, the only thing I can think of adding is maybe add tagging to the system. In the case of your media: eg, if you feel like watching Sci-Fi you can run a search to retrieve some of the highest recommendations from your backlog. Of those you may have results that come back with anime, Western, and foreign live-action results. If there’s a specific type of show you want you could then add that tag to your results (anime+sci-fi) to get a more precise list of recommendations.
Tagging could be both top-level (as above, picking Sci-Fi doesn’t infer that it must be anime) or hierarchical. I could think of something like programming. You have a set of different programming projects that you would like to work on, however they may require different libraries or languages to work (golang, jscript, R; or Tensorflow, Node.js). You could tag them as resources necessary to complete high-level projects. Using an ELO-scoring system you could compare projects to get a rough estimate of what should be done, followed by running similar scoring on the child tags to determine either the order to read, practice skills or tasks to complete. If your work tasks are separate from your read tasks, then this might offer an extra benefit by showing you articles/reference material that is applicable to (estimated) upcoming or current projects.
Top-level tags might add a constant increase to ELO scores of subtags, however if some subtags start to outperform other subtags in differing parent tags, the system might reorganize your projects to highlight ones you would prefer to focus on. If it keeps track of tasks done it may also force you to handle tasks that while low ELO by themselves are necessary to complete a nearly finished project.
One problem might be chaining tasks, where (an estimated) preferred task exists behind a less desirable task. That might cause a hit to ELO even if it would be better in the long-run to finish the detestable task. Maybe using the higher ELO task could provide a carrot (You could be working on this in only x hours!) to try to push past the block. This kind of structure might be able to solve some Hal’s lightbulb problems as well.
I’m assuming that the system would give you a choice of activities (say 5), rather than just telling you what you should do. The choices you make could then reinforce the ratings of one activity over others. If you wanted to go all-out, you could probably graph this information to see what your preferences actually are and may show what sort of jobs you naturally avoid in your projects. Use weekly check-ins to help determine where new projects or resources should map into your planning, possibly with an artificially higher ELO for a short period (to simulate excitement/motivation).
Some disjointed ideas that came to mind, first blush. They might not work as I’m imagining, or they may add too much complexity to the system to be useful. This does remind me a bit of a SCRUM-like system as well.
Thank you very much for taking the time, I can’t answer for the time being as much as I’d like so I won’t. But I’m linking your comment to my todo of the project so I can get back to you when I’ll have more time for coding.
But most of what you suggested is already planned, which is reassuring to me, even though your first draft is as advanced as my long reflections on it I must say. Have a nice day!
Funny you’re asking this, I have the same problem and had an idea about a solution.
Even though recent events forced me to delay the coding, I am hopeful that this can help me do a dynamic semi-selfsorted list where I can dump all the things I want to read (be it articles, books, studies etc) and help me get to the bottom of it. I will of course make the code available somewhere.
Here’s the link to my previous comment that explained this
Here’s the text directly :
What do you think? Any ideas are appreciated.
ps : I intend to use this to sort my reading queue but also a general TODO of pretty much everything as well as a watch list of my movies.
Interesting idea, the only thing I can think of adding is maybe add tagging to the system. In the case of your media: eg, if you feel like watching Sci-Fi you can run a search to retrieve some of the highest recommendations from your backlog. Of those you may have results that come back with anime, Western, and foreign live-action results. If there’s a specific type of show you want you could then add that tag to your results (anime+sci-fi) to get a more precise list of recommendations.
Tagging could be both top-level (as above, picking Sci-Fi doesn’t infer that it must be anime) or hierarchical. I could think of something like programming. You have a set of different programming projects that you would like to work on, however they may require different libraries or languages to work (golang, jscript, R; or Tensorflow, Node.js). You could tag them as resources necessary to complete high-level projects. Using an ELO-scoring system you could compare projects to get a rough estimate of what should be done, followed by running similar scoring on the child tags to determine either the order to read, practice skills or tasks to complete. If your work tasks are separate from your read tasks, then this might offer an extra benefit by showing you articles/reference material that is applicable to (estimated) upcoming or current projects.
Top-level tags might add a constant increase to ELO scores of subtags, however if some subtags start to outperform other subtags in differing parent tags, the system might reorganize your projects to highlight ones you would prefer to focus on. If it keeps track of tasks done it may also force you to handle tasks that while low ELO by themselves are necessary to complete a nearly finished project.
One problem might be chaining tasks, where (an estimated) preferred task exists behind a less desirable task. That might cause a hit to ELO even if it would be better in the long-run to finish the detestable task. Maybe using the higher ELO task could provide a carrot (You could be working on this in only x hours!) to try to push past the block. This kind of structure might be able to solve some Hal’s lightbulb problems as well.
I’m assuming that the system would give you a choice of activities (say 5), rather than just telling you what you should do. The choices you make could then reinforce the ratings of one activity over others. If you wanted to go all-out, you could probably graph this information to see what your preferences actually are and may show what sort of jobs you naturally avoid in your projects. Use weekly check-ins to help determine where new projects or resources should map into your planning, possibly with an artificially higher ELO for a short period (to simulate excitement/motivation).
Some disjointed ideas that came to mind, first blush. They might not work as I’m imagining, or they may add too much complexity to the system to be useful. This does remind me a bit of a SCRUM-like system as well.
Thank you very much for taking the time, I can’t answer for the time being as much as I’d like so I won’t. But I’m linking your comment to my todo of the project so I can get back to you when I’ll have more time for coding.
But most of what you suggested is already planned, which is reassuring to me, even though your first draft is as advanced as my long reflections on it I must say. Have a nice day!
In case you’re still somewhat interested by LiTOY, I mentionned it here in a comment : https://www.lesswrong.com/posts/Lwqb3zsPzTpMNNAvX/starting-too-many-projects-finishing-none