SuperMemo for Linux
It might be possible to run Supermemo on Linux under some of the Windows emulators.
WORKS WITH PLAYFORLINUX (AN ADD-ON TO "WINE")
NOTE: "IES 4 Linux" may not work for new versions of Linux like 10.10 Maverick. Use PlayForLinux instead. PlayForLinux tries to simplify the installation process for installing apps on Linux.
Software and Hardware:
- Tested using Ubuntu Netbook Remix 10.10 Maverick Meerkat on an Asus EEE PC 900a with 4GB SSD.
- Tested using sm98, sm2002, sm2004, sm2006, and sm2008.
- Instal PlayForLinux and Wine from the Ubuntu Software Center.
- Instal Internet Explorer 6 from the PlayForLinux catalog.
- Transfer sm06inst.exe onto a flash drive.
- Open Terminal and "CD" (move) in Terminal to the removable media (mine was in TOP-LEVEL home/media/PENDRIVE)
- Open Terminal and execute exactly as shown: WINEPREFIX="$HOME/.PlayOnLinux/wineprefix/InternetExplorer6" wine sm06inst.exe
- Running 2002, 2004, 2006, 2008 without a WINEPREFIX shows a "The program sm2008.exe has encountered a serious problem and needs to close" error.
- Running 2004 with the WINERPEFIX worked well besides a fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_RESET_URLCACHE_SESSION: STUB and other errors.
- SuperMemo 2006 should install and place the icons on Desktop.
- SuperMemo 2008 worked okay, but at the end it the SM 08 installer just disappeared. SuperMemo 2008 outputted:
fixme:wininet:InternetAttemptConnect Stub fixme:wininet:INET_QueryOption INTERNET_OPTION_CONNECTED_STATE: semi-stub fixme:wininet:URLCache_FindFirstFreeEntry Grow file err:wininet:CommitUrlCacheEntryInternal no free entries fixme:wininet:InternetAttemptConnect Stub fixme:wininet:URLCache_FindFirstFreeEntry Grow file err:wininet:CommitUrlCacheEntryInternal no free entries fixme:wininet:InternetAttemptConnect Stub fixme:wininet:URLCache_FindFirstFreeEntry Grow file err:wininet:CommitUrlCacheEntryInternal no free entries fixme:wininet:InternetAttemptConnect Stub fixme:wininet:URLCache_FindFirstFreeEntry Grow file err:wininet:CommitUrlCacheEntryInternal no free entries fixme:wininet:InternetAttemptConnect Stub fixme:wininet:URLCache_FindFirstFreeEntry Grow file err:wininet:CommitUrlCacheEntryInternal no free entries fixme:shell:IShellLinkA_fnGetPath (0x198780): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x198920): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x19a1b0): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x19a1b0): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x19a5f8): WIN32_FIND_DATA is not yet filled. fixme:shell:IShellLinkA_fnGetPath (0x19a5f8): WIN32_FIND_DATA is not yet filled.
Note on speed:
- BUY A NETBOOK WITH A FASTER DRIVE THAN THE EEE 900A for SuperMemo. My read speed for my slow MLC 4GB Phison SSD (thankfully not soldered) is 31MB/s min, 39.5 max, and 38 average. DO NOT run SuperMemo off an SD card or flash drive. My class 6 SD card had 18.8MB/s minimum, 30.8 max, 20.4 average. In comparison, a replacement SSD could provide a 80MB/s max read speed. Running from a 100MB collection on the card was slow, and moving it to the Ubuntu desktop shows a small performance gain, but mostly in the initial loading of the collection file.
- These speeds are not fast enough for good SM use. Even with plain text elements in SM 98, expect to wait at least 45 milliseconds for the next element to load. Large HTML elements (for example "Foreign Affairs" news articles) load very slowly. Creating a cloze deletion from HTML takes at least 5 seconds because SM needs to create a new HTML file, open it, write to it, then close it again, then ask you if you want to use the Category Template, then move back to the parent HTML element.
- I will probably upgrade my SSD and install an NLited Windows XP on my netbook.
- SuperMemo 98 works without the WINEPREFIX. This means that WINE is still being used, but not with IE6.
- Final drill: For some reason the SM window disappeared when I entered a final drill in SM98. I knew SM was still open b/c WINE was running, and pressing CTRL+N would ask me to "open a collection." Did not know how to fix this.
- 2002 and 2004 open successfully with the WINEPREFIX.
Testing SuperMemo 2006:
- Web Import: Full HTML web import from PlayForLinux Internet Explorer 6 works, SM professional mode works (warrior mode is painful due to screen size), and cloze deletions from HTML elements work.
- Large collections: My 100MB HTML collection took a long time to open directly from the SD card, but was faster from the Ubuntu desktop. For some reason Internet Explorer began acting up. SM would freeze on some elements that I think needed to connect to the internet. For some reason normal HTML elements started showing "Internet Explorer cannot find this webpage" although perhaps it's because I was copy and pasting the collection files from the SD card.
- I believe using SM06 under Linux would be usable, especially on a desktop with a SATA 150/300 hard drive.
Testing SuperMemo 2008:
- SuperMemo 2008 DOES NOT run after installation in Wine. It comes up with a window like "The program sm2008.exe has encountered a serious problem and needs to close." Perhaps it has something to do with the YouTube feature.
- Hopefully SM 2010 and onwards will support Windows XP for as long as possible.
To run SuperMemo on Linux through Wine emulator:
VMWare and Crossover
Other known emulators of Windows under Linux include VMWare and Crossover.
If you want to use SuperMemo on Linux you can use VirtualBox (http://www.virtualbox.org). It lets you install Windows (any operating system, actually) inside a Virtual Machine. You can use nLite (http://www.nliteos.com) to create a lighter, stripped-down version of Windows XP for that purpose. I use a version of XP which occupies a mere 40 MB of ram! I think you might also use Wine, but the dependence of SuperMemo upon Internet Explorer would cause problems, I think. --ChateauDIf 12:56, 24 June 2009 (UTC)
List of Supermemo ports and clones and alternative software running on Linux
- SuperMemo 98 might be easier to run in Linux due to its independence of Internet Explorer
- FullRecall might be the alternative. It is very clean and simple (its simplicity is its power) application for both Linux and Windows, based on neural networks to optimize the scheduling of next repetitions. The FullRecall web site has a ruby script which converts a Supermemo database to FullRecall format, including as much as possible of the learning-state data.
- Kylix port of SuperMemo 2000 - four years "in development" and not a sign of progress
- Open source SuperMemo for Linux at sourceforge - the project is dead
- SuperMemo 2004 under Wine
- The Mnemosyne Project. Seemingly an excellent open-source alternative. It uses an algorithm similar to SM2 and allows for graphics in questions/answers. Future release will allow sound in questions/answers. Also takes data from users (anonymous, only spacing data) for research into long-term memory.
- Anki is a spaced repetition flashcard program. The software is similar to SuperMemo (yet less buggy), a commercial product for the same purpose, and Mnemosyne (yet with more functions), a minimalist free software alternative. Anki is open-source and runs on linux/BSD, Mac and Windows. While Anki can be used for studying anything, it also ships with special features designed to make studying languages easier: integrated dictionary lookups, missing pinyin/kanji reports, and more. Extra pre-made decks are also provided. Anki has evolved from a few interface additions to the original flashcard program, to a suite of tools including a desktop program, website and cell-phone access.
You might try SuperMemo 6 (DOS) or SuperMemo 7 (Windows) in Linux emulation modes. They simplicity made some users report success. Naturally, you would rather prefer modern software (perhaps Anki?).