This repository is an effort by the SuperMemo community to document SuperMemo. Any contribution welcome.
supermemo-wiki / supermemoassistant.wiki Goto Github PK
View Code? Open in Web Editor NEWDocumentation resources
License: MIT License
Documentation resources
License: MIT License
Most people don't know this, but Hell is just doing final drill....forever
-- Luke Avedon
Create an intro guide for SM
Objective:
.... comment on this for better details what you think this intro guide should hold
docsifyjs/docsify#6 "Multi-language Navbar"
docsifyjs/docsify#604 "Multi-Language Sidebar"
https://docsify.now.sh/configuration?id=fallbacklanguages "Fallback languages"
Hotkeys not working currently:
Recently, I spoke to someone from a prominent blog about SuperMemo and he basically asked for proof that SuperMemo is worthwhile in terms of people who had highly significant provable success from using it. Since sample size of IR users (amongst people I know) is small, it's hard to find anyone too far out there so I couldn't really give him anything (though he was still interested because I explained exactly this).
It could be of merit to collect the experiences and successes of people like Aria from the SM discord. If I entice a newcomer into beginning with SuperMemo, he has to go ahead and persevere based on my promises that the software works. If we instead have stories from users showing that there is some real, tangible outcome to sticking with it maybe it would help people realize that it's a worthwhile software before they get to the point where they can realize it for themselves.
Beyond that, we could also add in stories from people in various fields for people to see how SuperMemo contributed to their success. In particular, I was thinking earlier about how I would convince a researcher to start using SuperMemo. I know various programmers and medical students that use SuperMemo but I can't think of a single researcher. I can make lots and lots of promises about how it can benefit their research but them learning it on that alone is hard. Having a real user story from a real researcher could make it much easier to display the merit of SuperMemo.
Could possibly be integrated with SuperMemo Guides mentioned in issue #2, maybe have people write guides as well as their own experience story.
MediaWiki is a great platform for creating knowledge database, such as Wikipedia. While a documentation and a knowledge database might appear to be similar in nature, they are indeed distinct applications of human learning and human knowledge.
A software documentation has several objectives, the main one being to help users achieve a clear, synthetic understanding of said software's usage and capabilities. For this to happen, there needs to be a clear point of entry (or a few of them) for the user, as well as a structure that is simple to assimilate.
MediaWiki achieves none of these, as it is by nature a knowledge database, meant to represent the entirety of the available knowledge.
Aside from theoretical considerations, it is a fact that the lack of a clear documentation has hindered SM from becoming more widespread. Continuing in this path will only help keep hindering its progression.
I think most SuperMemo users will agree that its pioneering techniques make it superior to other software of the same class. Yet, if that is true, why is not the more popular software of the lot ? Is it because it is not open source ? We would argue not. If computer users chose software based their choice on whether they were open source, we can state with confidence that a great many software that have achieved monopoly today wouldn't exist.
These are the different types of queue, as I understand them:
Very often, people unaware of SRS/SM ask this question. Address it on wiki and video
https://discordapp.com/channels/673071773700587521/673071774438522907/689835079509475539
Naess
simply the [/$] means stop the equation there and [$] starts a new one. on each of these [$]yourequation[/$] pieces, SMA will generate an image of
So with insert tag function you will make multiple images instead of one
this allows better clozing on equations
More over
add there that it needs some further explanation for certain latex equations, they can be quite complex and i dont always understand where i should put the mark in
var labels = [];
[].slice.call(document.querySelectorAll(".js-label-link"))
.forEach(function(element) {
labels.push({
name: element.textContent.trim(), description: element.parentElement.nextElementSibling.textContent.trim(),
// using style.backgroundColor might returns "rgb(...)"
color: element.getAttribute("style")
.replace("background-color:", "")
.replace(/color:.*/,"")
.trim()
// github wants hex code only without # or ;
.replace(/^#/, "")
.replace(/;$/, "")
.trim(),
})
})
console.log(JSON.stringify(labels, null, 2))
[
{
"name": "bug",
"description": "Something isn't working",
"color": "d73a4a"
},
...
(More labels)
...
{
"name": "wontfix",
"description": "This will not be worked on",
"color": "ffffff"
}
].forEach(function(label) {
addLabel(label)
})
function updateLabel (label) {
var flag = false;
[].slice.call(document.querySelectorAll(".js-label-list"))
.forEach(function(element) {
if (element.querySelector('.js-label-link').textContent.trim() === label.name) {
flag = true
element.querySelector('.js-edit-label').click()
element.querySelector('.js-new-label-name-input').value = label.name
element.querySelector('.js-new-label-description-input').value = label.description
element.querySelector('.js-new-label-color-input').value = '#' + label.color
element.querySelector('.js-edit-label-cancel ~ .btn-primary').click()
}
})
return flag
}
function addNewLabel (label) {
document.querySelector('.js-new-label-name-input').value = label.name
document.querySelector('.js-new-label-description-input').value = label.description
document.querySelector('.js-new-label-color-input').value = '#' + label.color
document.querySelector('.js-details-target ~ .btn-primary').disabled = false
document.querySelector('.js-details-target ~ .btn-primary').click()
}
function addLabel (label) {
if (!updateLabel(label)) addNewLabel(label)
}
Scripts modified from the original versions:
(1) https://gist.github.com/MoOx/93c2853fee760f42d97f
(2) https://gist.github.com/Isaddo/7efebcb673a0957b9c6f07cd14826ea4
%LocalAppData%
instead of %AppData%
)Guides are specific pathways to SuperMemo. They address the different way you can start using SuperMemo.
How I Learned to Stop Worrying and Love SuperMemo
-- JamesB
This is why you suck at SuperMemo
-- Naess
LaTeX: How are images stored ? Can I transfer my collection and preserve the formulas ?
This would apply mostly to textbooks/study material since they are way harder to tackle than wikipedia articles. However applies for everything IR.
tbc...
#2
https://github.com/awesome-selfhosted/awesome-selfhosted#bookmarks-and-link-sharing
a place to organize a lot of material for importing to SM with clear structure like
Economics
--- Micro
--- Macro
Place to compile a bunchload of valuable stuff to import into supermemo, not for just some light reading but actual learning
IR Strategies
SuperMemo User Stories
SuperMemo Guides
Alongside the above, we also should work on a good starting collection and videos for people to follow
There should be a section where people could send their questions if something in the wiki is not clear or they have questions about SMA. Recent changes section could be added as well.
Convert some of the best of SuperMemo lore to articles to be added to supermemo.wiki
in https://supermemo.wiki/sma/#/plugin-LaTeX
Specifically:
When I installed zhmetrics the program seemed to have been stuck indefinitely at the "extracting files from zhmetrics.tar"-step. After a forced taskkill and rebooting the system zhmetrics was properly installed.
There should be a warning in the documentation if this process takes a long time.
Afterwards amsmath also was already installed (even though I never did that).
If amsmath comes preinstalled or is an automatically installed dependency of zhmetrics, the documentation should not mention it.
Bitshelter:
Could you add a calculation method for checking how many gigabytes you should set aside for bitshelter in relation to the size of your collection? Or otherwise, an estimation such as, per 500mb set aside 1GB for bitshelter.
Github:
The Follow this Guide link looks quite outdated compared to the latest installer of git for windows. After following it, I'm not sure anyone not already proficient with computers would be able to use it. It's really easy to make a small mistake and be stuck doing a lot of troubleshooting. I'm not sure how you could simplify it though, so maybe having an alternate easier to set up backup method would be better.
When I run sm-main-commit.bat, it doesn't give any progress update and you don't see any changes in the command prompt, I think making it verbose would be better because I'm not sure if it's bugging out or just doing stuff in the background.
Using David's post, do you think that you could use symlinks to have both plan and sleep data be backed up in the same folder as the collections?
3/13/2019 All Suggestions:
Change to Wiki Guide:
-for bitshelter, add guides on how many gigabytes should be set aside relative to collection size
-consider asking the author for permission to just copy his guide to the wiki. We could then update it with better pictures and something easier to follow. As it is now, it's not something someone not competent with computers could follow
-From guide: In your SuperMemo Drive (E:), open a command prompt: type cmd.exe, then press Enter
The instructions on opening a command prompt don't really make sense to me. I think it's better to just tell people to hold shift, right click and open powershell. Then do git clone.
-An error I have often is that git add -A && git commit -m "Update"
runs fine BUT when I run git push
if pageant isn't set properly it just doesn't show any error but closes. If there's a more verbose version of the command I would input it. I would also add the following troubleshooting suggestions if that happens:
right click on pageant and make sure your github key is actually added. Add it and try git push again. If it works, the issue is that when you added pageant to startup you didn't make the target contain key path:
C:\Putty\pageant.exe %USER_HOME%.ssh\github-rsa.ppk
Feature Suggestions:
-script for download
-integrate git backup with SMA directly. That would fit with another script I also wanted: automatically run backup script on opening and closing SM. Eventually, I think it would be workable to have SMA work akin to the anki sync feature. If you have absolute upload and always treat most recent upload as latest and have absolute download and always overwrite when you download, I think it might not be too complicated.
-I currently am able to use git on all my collections fine. But because they're in a seperate folder, plan and sleepchart data aren't synced. You could just use git on your entire SuperMemo folder but I wouldn't want to sync exe's between computers, just plan, sleepchart and collections since I'd like SM on laptop and SM on desktop to have diffferent templates and the such. I think there's a way to get around this using symlinks but I'm not so familiar with how to get them to work with git. Maybe David would be helpful.
Bugs:
-On parallels, when running bitshelter it throws error about some C++ library. Both me and zeiss encountered it. I could've sworn somewhere you recommended installing some dependencies but I can't find it anywhere now. I'd recommend it again in case other people encounter the same error.
-I'm not super familiar with Git so when I do git pull to download upload from other computer if there's any change locally then it throws errors. Friend told me to do
git fetch --all
`git reset --hard origin/master'
I have no idea how safe that is or if there's a better way. Is there a way to upload the local copy if there's slight changes to some secondary branch as insurance and then do git fetch in a single script? I'm sure you could give people the exact script I mentioned above but it would be really easy to screw up
Recent changes section to quickly see what has changed throughout the wiki.
Possible with ajax: http://stackoverflow.com/a/26454035
C:\Users\<your-user>\AppData\Roaming\SuperMemoAssistant
. Type %AppData%
in Windows Explorer path for easier accessYour pdf is made of images, either use an OCR and remove the images, or use force image area selection
Create an issue ticket on github and upload your logs and PDF file
Ctrl+G
PATH
environment variable (also require restarting the plugin)[$]
= inline TeX formula[$$]
= \begin{math}[latex]
= full LaTeX documentplanning to do this incrementally
It would be helpful in having an idea of how out of date a page is. As things are, there's no way to tell if a page was made for the most recent version of SMA or not.
wiki can't be imported into supermemo with control shift a or select all in browser and control n, I had to scroll over everything manually.
Currently building in VS is a bit tricky, particularly for people who aren't familiar with VS / C#.
I made some quick notes on problems me and wzonglin (discord) ran into while helping him get set up. @alexis- will probably need to confirm these, I may have made a mistake.
You also need to download the latest version of Visual Studio (Community Edition is fine).
git clone --recurse-submodules https://github.com/supermemo/SuperMemoAssistant
To check that the submodules were cloned correctly, check the _Libs folder:
You should be able to load those projects. If they are greyed out, that's a sign something went wrong.
You can confirm by right clicking on the _Libs folder and opening in windows explorer. If the submodule folders are empty, you need to rerun the git clone command, making sure to grab the submodules too.
Change the output path for the build
In VS in the solution explorer you can search for "SuperMemoAssistant.csproj". Open the file and find the two lines where you specify the OutputPath. You will probably just need to change the username (blue lines.)
TODO... (will continue to update tomorrow)
To make editing the wiki easier, we could create a script to:
0. (Optional) download script, have it fork and clone documentation master
If you're not sure what each pipeline (the vertical blocks where you move issues) does, hover your mouse on the (i) icon to get a description
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.