IntroductionNext year, 1st January, I'll try to remember each day of my life. Here is how I intend to proceed.
I am outsourcing my algorithm (ideas and code) with the hope to find improvements and companions for this long term memory feat. This post is quite lengthy so gather time and courage before reading.
- Frustration of forgetting my life.
- Get closer to my current core philosophical values by reviewing my days with my related goals in mind. Knowing that each day will be mentally repeated can also be an incentive to act well. More speculatively, maybe a firm conscience that time flies may help me to remember how mortal I am and encourage me to not waste my time
- Try to combine my top 3 memory techniques (free recall, spaced repetition, method of loci) and see how it goes
InfluencesI got influenced by some philosophies which have a special relation to time and remembering. I am not going into details as it is off-subject.
Lembran Sar thread caught my interest to say the least. Many thanks to him for having shared this nice quest and his method. I did not studied his method and feedbacks in details but I intend to do so. However, maybe because of my broken english, I had a hard time understanding him. The summary given by garoth in this thread helped me a lot to understand Lembran Sar method.
In this same thread there is an interesting discussion between garoth and pabergg on why and how to peg dates which also inspired me (even If I chose another system than pabergg proposition).
My current method
- I use Lembran sar encoding (see https://artofmemory.com/forums/i-would-like-to-be-able-to-remember-every-day-that-passes-1750.html) : 1 day = 1 image coding for the main event, the rest comes with free recall.
- Heavy indexations (used later for retrieving and reviewing):
- Month : Each loci is a stop on a ~30 loci journey from a place in the world taken with google street view (no cycling, no journey is ever reused).
- Day : Each day index has its own peg (rotating on a 3 months cycle, so ~90 pegs used. First month starts with 0, 2nd with 30, third with 60)
- Week : Each week has its own peg (no rotation, week #178 is pegged with my peg #178). I do not have a 3 digits system, so I will learn these associations on the go.
Image of week pegs and loci are physical images stored on my computer in separate folders. I don’t want to make any effort to get my loci and proper pegs from the current day, that’s why a script has been wrote to process these images for me and then focus on the essential : storing my day. I’ll come back to that later in the “Program-based” section.
I cheat a bit for the 31th by reallocating this index to 91, 92 and 93 depending on which month it is on the 3 months cycle. I am hesitating to do the same for the last weeks of the year (51, 52). I have one year to decide though.
Help from a command line utility
Here is the source code if you are curious https://gist.github.com/brumar/d3583779c5d907fac42450ebbdf0f9d5. This code is just a python script, not a software. I am too lazy to turn it as a multi-platform software as I am not even sure to have a single user. If someone is really interested I can help him to get this script run on his machine.
This command line program follows multiple purpose :
- Paste pegs on loci images, save and upload them on a ftp so that I can grab and review it from anywhere.The pegs pasted are :
- A number (for the days, referring to my major system)
- An image (from a list which will be learned on the go)
- This results in image like that http://imgur.com/a/HawTg (see the images in the corner).
- Implement the reviewing strategy I came up with (described at the end). Mainly in order to make possible the next point (assess the quality) because, as I wrote before, a software should not be required to know what to review each day.
- Assess the quality of my reviewing algorithm. I wrote an error function which get higher scores when my intervals get too far away from my normative 2.2 value. This is for the process of making my system only. It will not be used unless I decide to change my algorithm. This helped, by trial and error, to reach my current reviewing system described below.
ReviewingMy goal was to following a reviewing algorithm ensuring that :
- The multiplicative factor between delays of reviewing is as close as possible as 2.2 (This value is a bit arbitrary. For reference, if I remember well, Anki or/and the SM2 algorithm starts with 2.5)
- Reviews can be preferably done by blocks (such as weeks by weeks)
- The reviewing algorithm (what to review each day) is not to complex to be learned and used without a software (to stay lightweight)
- Balancing the reviewing effort on the different days of the week.
These four aspects are understandably hard to balance and a trade off is to be found. As I feel, pure SRS solutions (like anki) neglect 2) and 3), whereas, at first sight (which means I may be wrong), Lembran sar “refreshing technique” neglects too much 1) and is great for 2), 3) and 4).
The solution I came up with may sound weird, but keep in mind that I tried to reach a trade-off between these four points.
Here, J-X refers unambiguously to review J-X and W-X means to review the whole Week. W-0 means the current week up to the current day.
Each day, I review J-1 and J-19 in addition to these special rules :
- Monday : W-6
- Tuesday: J-11, J-3, J-4; W-12
- Wednesday : J-11, J-10; W-25
- Thursday: J-3; W-1
- Friday: J-2; J-3; W-52
- Saturday: W-104
- Sunday: W-0
One surprising aspect of this system is that it requires only at 8-to-12 reviews by day to be sustained up to 4 years…Spaced Repetition Magic… While writing this post I am wondering If I could afford more reviews by day. But on the other hand, I am a lazy person, I am ok to forget few days, I don’t target perfection, it will be interesting to see how many days will be forgotten.
ReviewLet's say that time has passed, we are now Tuesday, 16 May 2017. Before going to sleep, I access my online folder with my phone and click on 2017-05-16.jpg where I see my locus and its two pegs. My day-peg is #46 (2nd month on 3 month cycle start with 30) and my week-peg is #20 because we are in the the 20th week of the year.
I mentally incorporate pegs to the locus, store and visualize a scene representing the main event of my day and do a free recall exercise to retrieve what happened this day (by constantly keeping the main scene on sight to try to strengthen the link between my free recall and the scene).
Then comes the reviews, I review the previous day (easy as it’s the previous loci). We are a Tuesday so I have to review J-11, J-3, J-4 and W-12 as well as J-19. With my dual-peg system I can easily access it by subtracting the delay in days to my index. For J-11, for example, I look for the last time I saw my day-peg #35, If it helps, I can also grab my week-peg which is #18. For J-19, my computation to find the day index is still 46-19 = 27 but if April ended with 31, I would have added 1. No problem also to review W-12, I just have to review all the days with week-peg #8. Reviewing consist to recall the main scene, its meaning, and doing a free recall on the other things of this day.
Global searchIf I ask myself what happened the 3rd March 2017, here is how I proceed to find my locus. First I get my day-peg, this is the #93 then I find an approximation for the week-peg. 2 months are spent, plus few days so it must be around 2*4=8th week or 9thweek. I ask myself if have my #8 week-peg found with day-pegs such as #93 (or #92, #94). If not, I ask the same for the #9 week-peg, bingo ! Retrieving what happened on a global date, is, as you see, a bit harder than the relative searching used for review, but with experience it may be easy to find the week-peg without much difficulties. I feel that it's ok if it's a bit slow as this kind of search is less important than the relative search.
I can also be helped by the fact that I am taking locis from another place in the world each month, so they are implicitly pegged by months too. I have no idea how efficient it is, but I feel it may outperform my week-peg system for global search.
Assessment of my reviewing system
My choices have been guided by the loss function put in place (and many trial & errors). The multiplicative factor between reviewing intervals is appreciably close to my ideal value (2.2), at least much more closer than the first version I put in place intuitively. Much of the weirdness of this reviewing system could be get rid off if I avoided W-0 and W-1 reviews, but I like the idea to review entire weeks. I add in an enclosed file the logs of my benchmarking system which gives, for each day of the week, the days when it will be reviewed and deduce the time intervals between this delay, as well as the multiplicative factor between these intervals (Ah there is no way to add file anymore ? Here is a link then : http://pastebin.com/XY0eUD8Q). It also gives, at the end, the value of my loss function. The code for this loss function used can be found in the source code at line 232. If you want to suggest little tweaks or massive change to my reviewing system, and you can’t use my code, I’d be happy to test it for you and me.
Final note : I did not used my system a lot, then it is obviously subject to change.
If you have a suggestion on how to make my whole reviewing system better, I’d be happy to get them. If you had to remember your whole life, how would you have proceeded instead ?
Don’t hesitate if you have any questions !
PS : Congratulations if you read the whole thing