Software Documentation (Javascript)

There are about 30 such entries, some require more, some less detail. They fall naturally into six categories. The ‘Object’ itself will be a memory palace with six child palaces. For example, the security methods could all be attached to a padlock. The tools for creating and modifying Objects could go in a toolbox … The largest of these might hold 8 methods. So that seems entirely doable. I will work on a drawing for those palaces and that will be my main structure. Producing a drawing for each entry will be quite a lot of work. I hope to be more efficient about it, and to improve my drawing a bit too! :slight_smile: This certainly planted the information in my mind.

1 Like

Could you please elaborate on this system and give an example of how you’re using it to memorize APIs? :thinking:

This looks interesting :star_struck:, I have a few questions about it:

  1. What percentage of the entire JS syntax have you covered with your current Anki DB?
  2. How much time did you invest in building this DB?
  3. Did you use a web scraper or any other automation tool to create your current DB?

I checked out that article for Ruby: Thanks. He has the same general idea. He has a list of memory palaces - he’s using his office for locii. He’s forming his images using what I call “whambangpow” images - images that have some shock value. That’s a matter of taste. IMO the brain quickly adjusts to shock or bizarre and is no longer impressed. It’s like Sat morn cartoons.

Yes,Anki stores image or even “html” pages in its cards. Not only it stores images,it can also format code snippets…Below is an example of “C#” formated snippet from my Anki Database…

1 Like


I believe,we need a ‘PAO system’ for Alphabet’ like we have “PAO system” for numbers. It is both strange and irritating that the mnemonist community of our time is obsessed with ‘numbers’ only. But we need a system for ‘texts’,too! Because text is everywhere!!!

Anyway,I use “Alphabet PAO system” to convert ‘texts into images’.

Let’s say, I want to memorize the line “Object.DefineProperty(obj,name,descr)”

I will convert the word “Object” into images by using the Alphabet PAO system(see the image below) like this:

I will take the Person>Action>Other(Object+State) idea and convert the word “Object” into images like below:

Optimus Prime>Breaking>Jug>Earmuffs>Church…etc!

As you might see that when combined, the first ‘syllable’ of each word/image forms the word Object…So,I have to remember the word Object,I will just use this image of Optimus price doing something with something!

Like this,I can convert the whole Object method into ‘images’ pretty fast…

Below is my Alphabet PAO System. I am still working on it. But so far,the system is giving a satisfactory outcome(for me)!

With this system,we can convert any ‘text’ to image for recalling information and create any type of ‘structure’!..

BTW,I don’t claim originality of this type of System. Mnemonists of medieval age used to use PAO system like this. For example,Bruno had an Alphabet PAO system…


Interesting. Gosh, all those movie stars :slight_smile:

I am interested in numbers because I want to improve my mental calculation. I’d like to know the multiplication table out to 100. I work with figures a lot. But it seems to me that great deal of effort is invested in doing party tricks and a lot of the techniques are refined for this purpose. Dominic Obrien’s book, I really like his approach to memorization, is mostly geared towards rapidly memorizing cards.

I’ve nothing against people doing party tricks but day to day memory tasks rarely involve flash memorization. I find it more useful if I take my time in forming the images. Which why I liked to sketch them. Without memory techniques, my project would be completely out of reach, it would use more time and energy than I would spend looking things up.

What is the application of memorizing letters? Then you say ‘text’. Are you memorizing text letter by letter? Is this for foreign languages?

Do you find it useful to keep a whole page of code like that. Do you read all the text when you review it?

That’s pretty cool! :slight_smile:

I’ve been using simple alphabet pegs based on the sound of the letter in English (A → Hey, B → Bi, C → Sea, etc.), though I haven’t applied them often so far.

Your system and Anki DB must have taken quite a lot of time to set up, I’m curious about how much time you have invested in both your JS Anki database and your PAO Alphabet? Have you been able to automate some of the creation process?

Hi @lual, I have been using Anki since 2014 and collecting Programming stuffs since then to store in Anki. There is no specific timeline,I think. I have been involved in programming since 2000! I started with VB(visual basic). I kept storing most snippets,ideas of programming in different places(MS word,Evernote) since the beginning of my programming journey. Once I started using Anki,I transfered them all into Anki.

I am an Automation guy! I automate almost everything in my job and personal life :stuck_out_tongue: Webscraping is still a favorite thing to me…But there are things I like to do manually,so that my learning gets stronger! Active learning vs Passive learning.

I have been working on the “Alphabet PAO System” for last couple of months. I needed a system that will cover all areas that I am interested in(Books,Programming,Journaling,Office works,etc)! The existing technique is not satisfactory(for me). So,I needed something that helps me in my journey to memorize stuffs………How do you memorize this code: STRXZ690?

With the existing ‘just-convert-the-word-into-image’ idea,I cannot memorize this code well: STRXZ690. So, I have to come up with something by which I can remember this type of code. I work in Medical Billing and Coding sector in which a client is given codes like this as identification number. And under that code,there are important info about the client. I have to remember all the info. And existing mnemonic techniques are not much helpful in this regard. So,I came up with a modified version of Giordano Bruno’s PAO system which is serving my purpose well :smiley:


I used ‘each letter’ of the “Object” word just as an example. If I had to memorize and convert the word “Object” into an image,I would not do it letter by letter. I would just use a shorter form “Obj” and convert this into image by using my Alphabet PAO System.

So,for this line of code of C# “public static void Main”, I would just use something like this: pub stat vod Mn and covert these words into image with Alphabet PAO system.

Or,for converting the word “Hydrogen” into image, I would just use “HDGN” and convert this four letters into image by using “Alphabet PAO System”. So,whenever I recall HDGN,I know it is Hydrogen…

There are so many different ways to use this type of Alphabet System for converting ‘text/words to images’… How do you memorize this code: STRXZ690? I need to memorize codes like this for my day job! And without Alphabet PAO System,I cannot memorize this type of code with the existing mnemonic techniques of converting ‘text/words to image’…!

And because the terms of programming language are just ‘words/texts’,they can also be memorized with the Alphabet System,I think……! Well,that is the theory I am counting on right now for memorizing different ‘terms/ideas/theories’ of programming language…

I try to follow the rule of Active reviewing. So,when I see the front card of Anki,which has the ‘question or hint’,I try to recall the texts in the back card without seeing them. This is known as “Active Recall” by the learning experts. I keep the whole page of code like that just in case,I cannot recall an area. I can check out the original code then……… But as you can understand,It is time consuming and stressful to try to recall long codes(and a bit unrealistic,too!). In that case,I can just ‘think’ of the main ideas used in that code. I don’t need to recall the complete code line by line…….

Besides,I am a Data freak. I store almost everything. I don’t like losing data……….

I see. I do have that need in a limited way - to remember things like strong PWs where non alphabetic characters are used. Otherwise, I dislike the the idea of having to memorize random letter strings - I feel they are ugly and I guess I’ve mostly avoided that kind of encoding. One does not always get a choice.

I’ve never been able to accumulate ‘raw’ information and retrieve it later for comprehension. Or at least I find that very hard. All my information is understood or familiarized in some way before I plant it. Sketching is one way for me.

Rather than memorize tags like public, static etc… I have conventions I turn these into some kind of animal, plant whatever. In Javascript ‘prototype’ is a crocodile, the Object constructor is a stone building, objects themselves are swollen fruit like aubergine, pineapple. Enumerable is a capital N etc… I will use these same items with the same meaning elsewhere but vary the details.

I would like an Major System that can accommodate hex notation. I’m sure it’s out there. I haven’t yet looked.

I use both memory palaces and SuperMemo for learning JavaScript. I am current processing the book “How JavaScript Works” by Douglas Crockford in SuperMemo. I also use Anki but I vastly prefer SuperMemo.

One thing that helps besides mnemonics is to try to see the code while answering. I also sub-vocalize every character in the code. I have little sonic shortcuts for somethings. When I parenthesis () I say “paren”, “{” squiggly, “<” is crocodile.

Although, I am only using mnemonics a bit, and generally follow SuperMemo best practices. Coming up with good question and answer items is an art just like coming up with good mnemonics.

I use the Dominic System for numbers and I use mnemonics based on Star Trek characters for letters.
If the person is from Star Trek, I know it is to remember a letter and not a number.

I am learning PowerShell also.

Anywhoo… good luck!


Thankyou for the tips. I am an experience Javascript developer but I find myself going back to the same documentation repeatedly for details. Also, there are features and options that I haven’t used but would like to be aware of. More than once I’ve written code only to find there was a built in method to do just that.

How does SuperMemo compare with Anki? I just downloaded Anki - have yet to play with it.

If this works, I’d like to try it on a new language - I’ve procrastinated on Python because I didn’t like its indentation format. Sounds silly, but it mattered to me. Anyway, I’ve had a good talking to myself and we’ve changed our mind.

I checked out SuperMemo. It looks like they want me to buy something but they won’t state prices, I have to sign up for a free trial and I really don’t need to learn English. I get the uncomfortable feeling of being ‘handled’.

That’s why, Anki is preferable to any other spaced repetition software out there. Developed by a Python programmer, Anki is free,feature rich,open sourced, and very stable! Its Android version is also free, but not the IOS version…

I personally have great respect for the creator of SuperMemo. After all,he is the guy that developed the algorithm for spaced repetition that we follow. Even Anki follows his algorithm for SR.

I have nothing against people making money off there software. But I expect plain dealing.

I shall have to put some time into one of them Probably Anki.

Thank you for your help.

Wow, then you must be the Derek Banas from Bangladesh!

Really inspiring journey, thanks for sharing! :smiley:

New to this forum. Have been a programmer for the last 15 years. But, googling slows me down and makes simple tasks look huge. Got valuable insights from the conversation above.
Will work on my own alphabet PAO system and use some of the tricks mentioned above. Currently, trying to create a system for learning statistics to help with data analytics that I am looking to shift into.


Hi @elitely, @zvuv and everyone else on this thread. Thank you all for your input, this has been a fascinating discussion. It’s so nice to see fellow developers working on systems to help with using JS.

I am a javascript developer and for a long time have been trying to work out the best ways of turning concepts / code into images. Specifically, I want a system I can show to juniors to help them with the learning process. I can see how something like alphabet PAO would be of enormous use, and something I am going to look into. However, for someone who doesn’t have a menomincs background, would they bother learning a new system like this when they have a dozen other things they need to learn…

In an age where google is the answer to everything, can I ask which you find the most useful:

  1. memorising the main points in documentation - specifically the syntax, such as the object methods you described
  2. Creating images for concepts, rather than memorising exactly what the code looks like. Eg an image for Object Prototypes and how Inheritance works, or an image for Closures.
  3. memorising processes and steps taken during development. Eg the 5 steps you need to link Redux to a React component, or the 10 things you did to create this to-do list?

It seems to be a blend for me, but I am trying to avoid learning syntax structures as these take a lot of time, and don’t actually build the expertise I want. Concepts and project-steps seem to be the most useful.

With that said, there are some pieces of syntax / commands which are useful to memorise. Here is something I use for Github:

Anyway, thanks for all the input guys. Let me know if anyone is based in London and wants to meet up and chat about this.


I’m still producing drawings - and that is working well. While it is a slow process, there’s a lot of engagement and by the time I’m done I know the stuff. I havent had to go back to Object.defineProperty docs since.

I think just the act of drawing the shapes, no matter how crudely helps give substance to abstractions, especially those one doesn’t quite understand yet. Color would be a big asset too. I just can’t draw in color - otherwise I’d add that. And you can go back to your sketches and embelish with more information.

However, this is material that is already familiar and pretty well understood - I plan to try my scheme on Python which I’ve ignored for too long. I find it hard to take a language that doesn’t use curly braces seriously.

I hope to be in London in a few month.