An important mnemonic technique that visual programming languages can exploit is called the "Method of Loci" or "Memory Palace":<p><a href="https://en.wikipedia.org/wiki/Method_of_loci" rel="nofollow">https://en.wikipedia.org/wiki/Method_of_loci</a><p>>The method of loci (loci being Latin for "places") is a strategy of memory enhancement which uses visualizations of familiar spatial environments in order to enhance the recall of information. The method of loci is also known as the memory journey, memory palace, or mind palace technique. This method is a mnemonic device adopted in ancient Roman and Greek rhetorical treatises (in the anonymous Rhetorica ad Herennium, Cicero's De Oratore, and Quintilian's Institutio Oratoria). Many memory contest champions report using this technique to recall faces, digits, and lists of words.<p><a href="https://news.ycombinator.com/item?id=22090159" rel="nofollow">https://news.ycombinator.com/item?id=22090159</a><p>>The Method of Loci is an ancient technique that used to be taught for thousands of years as a standard part of a classical eduction, way back when people needed to remember things before the invention of smartphones and printing presses. But in the middle ages it was banned for being immoral! Apparently, some bad apples were abusing the Method of Loci to remember "immoral" things they shouldn't be thinking about, using "fabulous" images they shouldn't be imagining.<p><a href="https://www.guildsomm.com/4cb697f52c/discussion_forums/f/general-discussion/9171/advanced-memory-techniques-and-how-to-apply-them" rel="nofollow">https://www.guildsomm.com/4cb697f52c/discussion_forums/f/gen...</a><p>>>Remember to use physical objects in these palaces since they have easily imaginable traits; when you are dealing with more abstract or untranslatable ideas it is best to convert them into objects based on the way the words sound, so Valmur becomes Val Kilmer, Les Preuses becomes purses, etc. Additionally, you don’t need to be concerned with reality when making these memory palaces. The more slapstick, unique and vivid they are, the easier they will stick. Raunchy imagery always works well, to the point where some religious orders in the middle ages banned the practice because it was deemed immoral.<p>>Memory Palace techniques have been known as the Mind Palace, Method of Loci, and Memory Journey, Art of Memory, Ars Memorativa, Memorative Art, Mnemotechnics, Architectural Mnemonic, Graphical Mnemonic, and Textual Mnemonic.<p>Eric Krokos, Catherine Plaisant, and Amitabh Varshney published an interesting paper about memory palaces in virtual reality, called "Virtual memory palaces: immersion aids recall" in Virtual Reality volume 23, pages 1–15 (2019).<p><a href="https://obj.umiacs.umd.edu/virtual_reality_study/10.1007-s10055-018-0346-3.pdf" rel="nofollow">https://obj.umiacs.umd.edu/virtual_reality_study/10.1007-s10...</a><p><a href="https://news.ycombinator.com/item?id=22093072" rel="nofollow">https://news.ycombinator.com/item?id=22093072</a><p>>I visualize and remember code that way. For me, it's hard to forget somewhere I've been, even if I only imagined being there.<p>>Each function is a little building like an office or a shop, which has a sign out front telling what services or products it sells, and contains everything inside you need to solve some kind of problem or produce some kind of product or service (where equipment in the room is like references to other objects and functions and imported libraries).<p>>You're standing behind the front counter, just about to receive a customer though the front entrance door with the parameters you need for one particular instance of that problem.<p>>You go into the back room, solve the problem, then deliver the results out the exit door at the back of the building (or through any of the other earlier emergency exits, if you had to exit prematurely or throw an error and run away).<p>>The front/back flow is a metaphor for the top/bottom flow of control through a function.<p><a href="https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram" rel="nofollow">https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diag...</a><p>>>A Nassi–Shneiderman diagram (NSD) in computer programming is a graphical design representation for structured programming. This type of diagram was developed in 1972 by Isaac Nassi and Ben Shneiderman who were both graduate students at Stony Brook University. These diagrams are also called structograms, as they show a program's structures.<p>>If you squint you can see the example Nassi-Shneiderman diagram in that article as a map of a building, with its front at the top, and exit at the bottom.<p>>You can have internal hallways and rooms for branches and loops, like a Nassi-Shneiderman diagram. The "Sub to Determine Wiki-Article" room is like the front entrance lobby of a theater where buy your ticket. The "Select Favourite Genre" room is like the stage of The Price is Right, and you get to pick what's behind door #1 (History), #2 (Science), or # (Geography), or else choose Other. They each have one or two rooms behind them with your rewards, and then they all finally exit out to the same back stage loading dock, where you take your wonderful prize (or consolation donkey) home.<p>Ben explained that "Nassi-Shneiderman Diagrams have peaked out a couple of decades ago, but there were a huge success story for a 15-minute invention, with hundreds of software tools, dozens of textbooks, and 1000+ papers based on them."<p>He has a funny story about the incredibly harsh rejection letter he received when he and Ike Nassi submitted their first paper about "Nassi-Shneiderman Diagrams" to Communications of the ACM in 1972, that should serve as an "inspiration for anyone whose new ideas are rejected by some respected authorities".<p><a href="http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejection_letter.html" rel="nofollow">http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejectio...</a><p><a href="http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejection_letter.pdf" rel="nofollow">http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejectio...</a><p>>Our submission of the structured flowcharts to the Communications of the ACM was quickly rejected, on October 4, 1972, by the Programming Languages Editor David Gries of Cornell University. He included a single anonymous reference letter which is on paper that has a Cornell University watermark. I assume Gries gave our paper to one of his colleagues (you can play the guessing game too), who wrote the most brutal rejection letter I have ever gotten.<p>>The reviewer wrote: "I feel that the best thing the authors could do is collect all copies of this technical report and burn them, before anybody reads them." As graduate students, this stinging rejection shocked us, but we kept getting enthusiastic responses from people around us. We sent the paper to the unrefereed ACM SIGPLAN Notices, where it was published in August 1973. It didn't take long for others to produce extensions, software tools, and applications of structured flowcharts.<p>>The next problem was theft of the idea. I had sent a draft to respected colleagues, and soon others published slight variations. One of these respected colleagues was Ned Chapin, who greatly troubled us by publishing what he called 'Chapin Charts.' A friend of mine sent me his published paper with a note encouraging me to sue. For several years I feared that Chapin's reputation and his frequent professional seminars would wind up leaving the idea tied to his name, but as the decades passed, the ending has proved to be a happy one. We called the idea 'structured flowcharts, but they are widely known as Nassi-Shneiderman Diagrams.<p>>Another problem was the appearances of patents for variations on our idea, but these have not limited the widespread recognition we have gotten over the years.<p>>I wish every graduate student or young inventor would have the pleasure of seeing his/her ideas spread so far and influence the work of so many people. I also hope that the story of the bold rejection of our novel idea and its eventual international success, is an inspiration for anyone whose new ideas are rejected by some respected authorities.<p>More about Nassi-Shneiderman Diagrams:<p><a href="http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/" rel="nofollow">http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/</a><p><a href="https://wiki.c2.com/?NassiShneidermanDiagrams" rel="nofollow">https://wiki.c2.com/?NassiShneidermanDiagrams</a><p>More about Ben Shneiderman:<p><a href="https://news.ycombinator.com/item?id=11370099" rel="nofollow">https://news.ycombinator.com/item?id=11370099</a><p><a href="https://news.ycombinator.com/item?id=22329274" rel="nofollow">https://news.ycombinator.com/item?id=22329274</a><p><a href="https://eagereyes.org/influences/ben-shneiderman" rel="nofollow">https://eagereyes.org/influences/ben-shneiderman</a>