Live data from Hacker News

SoYouLearn – A flexible and advanced spaced repetition platform

soyoulearn.com

81–90 of 112 posts

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#81

Founder here. Note: This is spaced repetition. I bootstrapped this over the past 1 1/2 years. A few key differences: - A central DB (it has over 1.8M flash cards) which anybody can edit. Card owner can accept/reject the change request. - Courses are just references to flash cards, nothing else. - You decide what you want to learn "Display me field X,Y,Z and prompt me to enter field 'A'. You can choose any field/audio…

My use case is I want my child to grow their native vocabulary, eg. when they read books with new words that they don't know. I couldn't seem to be able to pair the languages that way. Is this supported?

Absolutely! This is actually one of the key differences from other SRS software. Ie. you can search the central DB for flash cards and just "add them to the learn queue" or "Claim known". Check out the video on my landing page at 4m:40s for how to do it.

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#82
Another feature I miss is a button to discard a card. E.g. when I study country flags and see a flag I remember perfectly and have always knew - I want to click once and never see it again in the repeat series.

Also, it would be nice if I could choose the correct answer (e.g. a county name for a flag) by clicking it among a set of options instead of typing it in manually all the time.

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#83

Founder here. Note: This is spaced repetition. I bootstrapped this over the past 1 1/2 years. A few key differences: - A central DB (it has over 1.8M flash cards) which anybody can edit. Card owner can accept/reject the change request. - Courses are just references to flash cards, nothing else. - You decide what you want to learn "Display me field X,Y,Z and prompt me to enter field 'A'. You can choose any field/audio…

I'm excited about this project. A few questions about your tech stack: How's Datomic? Are you using the community edition? Also about databases, are you using or have you considered using a graph for Cassandra like Titan? I guess also, if you do a mobile app will you use ClojureScript with React Native, like Re-natal? Thanks.

Datomic is awesome! I'm loving it. I'm using the "Pro Starter" edition with a single transactor + 2 Cassandra nodes. Only thing I disliked was that ref-many are unordered (a set).

I have not considered Titan, I looked into JanusGraph the other day but I have intention to switch.

I dabbled in RN + CLJS a few weeks ago and got some toy screens running. So: Yes I'd use that stack for a native app!

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#84

Earlier quoted context omitted.

No there is not. I have kind of the feeling that Anki users are tough to convince to switch to an online platform (judging by comments I've received so far). It's tough since you'd have to find a corresponding flash card for each flash card in Anki. But if there was enough interest I'd probably see what I can do. Maybe just provide a JS API so users can write an import script? Just a thought, not a promise.

I love Anki because it has LateX support. I wish you did! Also, I was not able to create a new category. I am learning Circuits right now, which is not an available category.

Please use the category "Engineering". Categories are currently hard coded and some have special handling in front-side code so categories will have to be manually requested.

I think Latex support is interesting. I could lazily load it and then render it. Something to think about for the future...

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#85

I like it! I just did the European geography course, matching countries on the map with their names. But now I want to test myself and I can't figure out how to do that. Any way to randomly go through each flash card and answer in turn?

There is currently no way to manually test yourself on a course part. You now just learnt them and if you come online now you should see those flash cards due for review. Then depending on if you answer them correctly or wrong they will come around again in 4-6h or 2-3days.

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#86

Love it! Going to play w/ this some more... Care to share your stack/toolchain? front-end/back-end/API's?

Frontend is ~25k LOC Clojurescript: Rum + Datascript + React.

Backend: Cassandra + Datomic + Elasticsearch + Redis + Clojure.

SAAS: Mailgun, Datadog.

Editor: Cursive IDE (hands down best Clojure editor)

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#87

Founder here. Note: This is spaced repetition. I bootstrapped this over the past 1 1/2 years. A few key differences: - A central DB (it has over 1.8M flash cards) which anybody can edit. Card owner can accept/reject the change request. - Courses are just references to flash cards, nothing else. - You decide what you want to learn "Display me field X,Y,Z and prompt me to enter field 'A'. You can choose any field/audio…

Hopefully my use case is useful to you. I'm a heavy user of Duolingo. Been trying to teach myself Russian for the past 2-3 years. Almost use it on daily bases (I have missed a few days here and there by accident or when I had no connection). Usually my repeat usage is anywhere from 20 days to now 143 consecutive days. My biggest frustration with Duolingo (Russian language) is that none of the grammar rules are explai…

The following advice is based on the assumption that you want to eventually acquire both adult level fluency and adult level proficiency in your second language. If you do not, then it's a whole other conversation. Having learned Japanese late in life, and also taught English as a second language professionally for 5 years, my advice is -- don't bother with grammar explanations. Instead of using Duolingo, read books.

There is nothing inherently wrong with learning grammar (and if you want to, I recommend reading grammar books in your target language). However, it is unnecessary. Memorising grammar rules will especially lead you down the road of approaching language like a recipe. The problem with grammar rules is that there are a lot of sentences that are grammatically correct from a prescriptive sense, but that are idiomatically impossible to understand.

Programs like Duolino are nice because the give you vocabulary in the context of sentences. However, you'll never get very much beyond basic sentence construction because you don't have the larger context. You don't know when to use one phrase and when to use another. You don't know the situations where idioms naturally pop up. You don't know how to organise your thoughts and to express them in the target language as opposed to translating your English ideas.

It's really funny, but when I read a Natsume Souseki book, I can't help but think how similar a writer he is to Dickens, and yet if I try to translate his writing to English it ends up incredibly dry and uninteresting. The charm of it is the expression in Japanese. Especially because Japanese and English are nothing alike, I find that I can't speak Japanese fluently unless I abandon English.

The thing that makes people worry is that they think that their second language is not good enough to become fluent. It's important to understand that fluency and proficiency are different things. Children are not at all proficient in their native languages -- especially 3 or 4 year olds are awful. But they are very fluent. With 2-3 years of Russian, you will also be awful, but there is no reason why you can't be very fluent with what you have -- and that includes reading.

It's too bad we can't have adopted parents in our second language to read us bed time stories because that would be awesome. But you can read by yourself. When I was very small, I had to be made to read because it was difficult for me. Eventually I got to the point where people had to tear the books away from me. The same thing was true in Japanese.

The advantage you have by doing it this way is that you have an endless supply of natural language. Your only task is to try to understand what it is saying. What I used to do when I was learning was to scan a piece of text to find vocabulary I didn't know. I would take about 20 pieces of vocabulary and look them up in a dictionary (I actually wrote software to make that efficient, because I'm a geek). Then I used a spaced repetition drill program (my own) to remember the vocabulary. Then I would read the text. Most of the time I could understand it based on vocabulary alone. If I ran into new grammar I would enter the sentence into the SRS drill with my understanding of the meaning. Rinse and repeat. Every week or so I would go back and reread bits of the book, updating my SRS data with my new understanding -- and it's incredible how quickly you form new understanding. After I read a section of text about 5-10 times, I could read it just like I was reading English.

After you get about half way through a novel, you start to learn the idioms that an author uses. You can then often read several books in a row without having to study -- just read them. But then when you switch to a different author, it's back to study mode. Of course I didn't start with novels. I started with picture books (Momotarou!!!), moved on to manga (great for conversational Japanese), then novels for elementary students and I'm currently in a phase where I'm enjoying books that are in the Japanese junior high school curriculum -- but at that point you're pretty functional in the language. I don't actually study at all any more (though I really should practice writing my kanji).

Not sure if any of this is helpful to the OP as well. I spent a lot of time writing my Japanese SRS tool (now sadly a victim of bitrot -- I don't think it even runs any more). I never could find a good way to really efficiently bootstrap native sources of information, but things like a built in dictionary and a deinflection/deconjugation tool are life savers. Honestly, if I were to concentrate on anything it would be that because Anki is already pretty hard to beat on any other front. Focusing on making it easy to create cards based on material found in the wild would be a great differentiator.

P.S. Last word on the grammar thing -- I actually learned Japanese grammar eventually. I had to teach English grammar in Japanese, so that forced me to read Japanese grammar books so that I knew what the vocabulary was. It was actually a lot easier than I thought it would be.

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#88

Earlier quoted context omitted.

I'm excited about this project. A few questions about your tech stack: How's Datomic? Are you using the community edition? Also about databases, are you using or have you considered using a graph for Cassandra like Titan? I guess also, if you do a mobile app will you use ClojureScript with React Native, like Re-natal? Thanks.

Datomic is awesome! I'm loving it. I'm using the "Pro Starter" edition with a single transactor + 2 Cassandra nodes. Only thing I disliked was that ref-many are unordered (a set). I have not considered Titan, I looked into JanusGraph the other day but I have intention to switch. I dabbled in RN + CLJS a few weeks ago and got some toy screens running. So: Yes I'd use that stack for a native app!

Sorry to ask another question, but one thing holding me back from a Clojure-oriented stack is JS interop. I know there's work being done on getting CLJS to work with npm and now there's this thing about global exports for foreign libraries[0]... for a new project I need to use a bunch of libraries not in CLJSJS.

How was your CLJS experience with JS interop? Would you still use ClojureScript if you had a lot of JS dependencies?

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#89

I just moved to Spain, and just played around with the beginners Spanish course. This is badass. Thank you for making this.

One issue I've run into a few times though: I'll come back to a tab for it and hit enter, and it seems to try and reload. I then get this error: more_vert This is not a valid session ID. Note that this URL ist not valid across browser reloads.

I'm having trouble reproducing this. Could you contact me by email and tell me the exact steps?

Re: SoYouLearn – A flexible and advanced spaced repetition platform

#90

Earlier quoted context omitted.

Datomic is awesome! I'm loving it. I'm using the "Pro Starter" edition with a single transactor + 2 Cassandra nodes. Only thing I disliked was that ref-many are unordered (a set). I have not considered Titan, I looked into JanusGraph the other day but I have intention to switch. I dabbled in RN + CLJS a few weeks ago and got some toy screens running. So: Yes I'd use that stack for a native app!

Sorry to ask another question, but one thing holding me back from a Clojure-oriented stack is JS interop. I know there's work being done on getting CLJS to work with npm and now there's this thing about global exports for foreign libraries[0]... for a new project I need to use a bunch of libraries not in CLJSJS. How was your CLJS experience with JS interop? Would you still use ClojureScript if you had a lot of JS dep…

I'd still use CLJS. Just fighweel alone is worth it. I can see any code change in Interop is not bad, I don't do too much interop. I don't use npm-deps but just bundle the React builds separately and include them in the HTML. They rarely change and I set caching header to immutable so the browser will just read them from memory (my CLJS app changes multiple times a week). If you want to use a lot of NPM deps I'd recommend shadow-cljs, there has been a lot of development by the maintainer and it seems to work incredibly well for NPM deps. Feel free to ping me on the Clojure slack, there is also a beginners channel that is very active. And there is a shadow-cljs channel where the maintainer will quickly respond.
Post reply on HN