HNHacker News
TopNewBestAskShowJobs

trane_project

297 karma · joined July 3, 2022

Trane is an automated learning system for the acquisition of complex and highly hierarchical skills. It is based on the principles of spaced repetition, mastery learning, and chunking.

https://trane-project.github.io

submissionscomments
trane_project··on White supremacist changes beliefs after taking MDMA for a study
Neither life after death nor memories require the existence of an inherent self (see the Buddhism belief in karma, rebirth, and past-life recollection which coexist happily with the doctrine of no-self).

But you're right in that they depend on the mind being primary over the body.

trane_project··on Anki-fy your life
You are correct. Some domain knowledge is needed if you want to get the correct dependencies.

They can be changed without affecting the exercises so it's not set on stone. So you could try to make a lesson for the initial topics and try to adjust the dependencies as you go along.

But the best way is to get help from someone who knows them.

trane_project··on Anki-fy your life
I've been working on https://github.com/trane-project/trane for the past year or so, mostly to get around these limitations. I tried to find a way to use Anki or another existing software to aid my music practice, but I couldn't get it to work.

Some ways in which it's different:

- Dependencies are core to the system. For example, if I am learning a music piece, I want to start by learning small sections and only move on to larger sections when I am good enough at the small stuff, eventually ending with a final exercise that tests my performance of the whole piece. A lot of knowledge/skills follow that pattern, but I couldn't find a way to make Anki or SuperMemo understand this.

- It's meant for both memorizing stuff and practicing exercises. I have tested it with your exact example (math problems from textbooks). It works fairly well, but it's at a very early stage (you can look around at https://github.com/trane-project/trane-math, but it still needs a readme). So it's doing the same thing as the students you mentioned. The difference is that the scheduling is done automatically. Review of existing problems and addition of new ones happen without requiring planning or tracking from the student.

- There's an emphasis on generating the flashcards as text files, so they can be shared. I don't understand why people insist of remaking their own flascards every time. If someone wishes to learn guitar, for example, it's my hope they just download some courses and start learning without spending any time redoing flashcards. This design choice probably makes it harder to write the flascards, but it balances out once the flashcards are done and can be passed around.

trane_project··on Spotify's redesign isn't going down well
What you want already exists. It's called Qobuz. I switched from spotify and I am pretty happy. It does not have any bells and whistles but it's exactly what I want. Just music and playlists. With the added benefit that it has lossless audio.
trane_project··on Coltrane: A music theory library with a command-line interface
Yeah. I really wanted to try it but I couldn't get the commands to work. All the issues seem related to another gem written by the same author, which has not been updated since around the same time.

Not knowing ruby, I can't really invest too much time trying it to work. :<

trane_project··on Coltrane: A music theory library with a command-line interface
It's just too much work. Just doing it in one key is a lot, and you have to do that twelve times (fifteen if you want to be thorough and include all the enharmonic keys). So I am glad someone seems to have done it all already in a command line tool that hopefully I can automate.
trane_project··on Coltrane: A music theory library with a command-line interface
Curiously enough, I have been working on a project named after the same person (John Coltrane) as a way to help me practice music: https://github.com/trane-project/trane/

I have been meaning to generate flashcards to teach you the notes of scales and chords so that I can have instant recall. It gets really annoying to not know them when improvising or composing. I have some basic courses, but I found the process a bit tedious, so I have been working on other courses and features instead.

I am going to try to use this utility to help me generate the flashcards instead of writing my own logic. Hopefully it works well as it would save me a lot of time.

trane_project··on The Lone Developer Problem
I started doing that with my own project after I reverted a (correct) change a few weeks later because I forgot to write down the original reasoning anywhere. No other contributors so far, so I can't say how much it helps on that front, but it has helped me a lot and I feel safer making big changes without fearing I'll break anything.

The entry point docs are here: https://github.com/trane-project/trane/blob/master/src/lib.r...

trane_project··on Poor sleep drove me insane, and my long path to recovery
There are at home sleep tests. Basically a wristband that measures your sleep. Then you take it back to the clinic and they read the results. I don't remember how much it was but it wasn't too much.
trane_project··on Bloom's 2 sigma problem
I never said I had solved it, only that I was working on solving it. Nowhere in the documentation or in my comments here I intended to give the impression this is anywhere close to done or intended for the general public at this time. There's an entire half of the project intended for instructors that I have barely mentioned publically or had had time to properly sketch out.

Mathacademy is pretty much the same thing from what I can gather and has already been applied very successfully in a school district. Same thing with the DARPA tutor also mentioned here.

All of the principles these tools are based on are already proven by mountains of research. And yet no free software, general solution exists that combines all of them. I know because I resisted working on this for months while looking for it.

And sure, it's an interactive homework list. I say so myself in the readme. One that automatically reviews skills at variable intervals depending on the mastery of the material, interleaves questions from separate topics for increased retention, gradually introduces new topics only after dependent knowledge is sufficiently mastered, balances the difficulties of the questions, and allows students to study specific portions of the graph.

So if we are giving each other advice on how we come across online, I find your comments lacking any criticism I can use to improve the project, and very dismissive of the hundreds of hours I have spent researching and working on the problem with the intention of giving all of my work away for free. If that ever changes and I charge a cent for an incomplete solution, your criticism will be more understandable.

trane_project··on Bloom's 2 sigma problem
My bad. I'll consider it when I decide to work on a GUI.
trane_project··on Bloom's 2 sigma problem
Sure. I would love some help. I am visiting my family all March (I am typing this from the airport), so I don't know how much time I'll have to work on trane for the next month. But maybe that gives you some time to use it, and read the code and docs.

I am not going to put my personal email here, and I don't see an option to send private messages on hn, although it's probably out there somewhere. Probably in the commits, lol. Worst case, feel free to open an issue on the trane repo.

As a first ask, what do you think of this: https://github.com/1Password/typeshare?

I figured writing the UI in rust is probably not a good idea. The ecosystem for UI is very immature and the language itself is probably overkill. But doing it in typescript/html/css requires you to understand the internal data structures (all the JSON files you see in the courses are just serialized rust objects).

I found that repo and it seems like a promising approach to autogenerate the types and make the interaction easier.

trane_project··on Bloom's 2 sigma problem
open .

next

answer

score YOUR_SCORE

next

That's 80% of how to use it. Most of the rest is how to select individual parts of the graph to study. So other than setting it up and writing material for it (which I don't envision most people needing to do), I don't see how that's less user friendly than a website. But I understand how using a CLI is inherently limiting. Not enough time as a solo project so I am not focusing on that for now.

As for how it's a solution, see my answer to the other person that asked the same question.

trane_project··on Bloom's 2 sigma problem
The problem is bridging the gap between the ideal solution (everyone gets an individual tutor) that scales for everyone.

It's not meant to replace teachers, but it reduces the amount of individual teaching needed. In my own case, once I am done with this and can afford the time, I'll get a private music teacher and go through any tough spots I encountered since our last meeting.

trane_project··on Bloom's 2 sigma problem
The courses are markdown and JSON files in GitHub so close enough. It does restrict a bit because it assumes some technical proficiency, but there's probably some middle ground (open a GitHub issue to suggest changes and have someone else write the PR, for example).
trane_project··on Bloom's 2 sigma problem
I know it's possible. But the last time I did any frontend work, jQuery was the state of the art. So I decided that for now my efforts are better spent nailing the core experience and creating more courses.
trane_project··on Bloom's 2 sigma problem
Thanks for pointing that out. I'll fix it, but for now just have the .trane directory in the folder right above.

I guess you are right. The textbooks definitely have dependencies, but that seems to be the very problem that you have with them. Unfortunately, I think other than different curriculums for each way to approach the subject, this is beyond the current scope of Trane. I made this thinking of music at first, which has a more rigid way of approaching the subject that tends to work for a wide set of students. There's no person on earth that will be comfortable studying highly chromatic music without mastering harmonically easier material first.

trane_project··on Bloom's 2 sigma problem
I think ultimately it's a very different approach to their current one, so it might be too difficult to do in the existing codebase. Maybe not, I have not looked at the code. But the public docs and learning philosophy around anki all seemed to discourage it, so I decided to make my own thing.

And yeah, I don't think Anki gets a lot of support. I am an open-source maintainer myself, so I know that story.

trane_project··on Bloom's 2 sigma problem
Main difference with anki is that anki explicitly discourages trying to make dependencies between flashcards or decks. I tried to work out something like that into Anki, but as I saw it, dependencies were core to what I had in mind. There's some similar functionality in supermemo, but it's based on a tree, not a graph, so it was inherently limited.

No experience in mobile at all so that'll have to wait, but a GUI/website/app that works on most platforms is something I would like to work out eventually.

trane_project··on Bloom's 2 sigma problem
Yeah, this is cool and similar to the end state I have in mind. The main difference is that I am not trying to create the curriculum/exercises. I am just creating flaschards that say "Solve exercise x.y.z in that textbook". Plus the whole free-software angle and being able to share the material as text files.

The math thing is just a side project at the moment to try to see how it works for other fields. I am primarily using this for music. I was hoping something like this existed already, but all the solutions are either very specialized like this one or do not support dependencies as a core feature, like Anki. Had Anki supported something like this, I wouldn't have needed to make my own thing.

trane_project··on Bloom's 2 sigma problem
Going through the list, it seems like all of them only work on very specialized subjects and/or are not published. I have read about the DARPA tutor, but I don't think it's been made publically available. So I doubt anyone here has used it, unless they were in that specific branch of the military at the time it was used.

I don't see how LLMs deliver on this. I think they could speed up how the curriculum is generated, and I have played around with ChatGPT to do just that, but the questions only need to be generated once. It's the guiding of students through the exercises that needs to be personalized, not the exercises themselves.

As for their effectiveness, I am the author of Trane (see my other comment). It's worked pretty well for me, but I am splitting my time between my job, working on the software, creating materials, and actual practice, so I can't really say what the upper limits are until I can focus on just the last part.

trane_project··on Bloom's 2 sigma problem
I started working on this a few weeks ago: https://github.com/trane-project/trane-math It currently needs a README, but you could take a look at the courses on how I am building the flashcards. It's easy to reference external resources, so that's what I have been doing, rather than trying to create exercises of my own.

I am starting with a very basic olympiad-style book and a book based on Euclid's Elements, because I don't have the understanding required to clearly work out the dependencies of more advanced stuff. And I also would like to start at the beginning to make sure I don't miss anything.

The ideal end state is to have courses that cover all the undergrad and grad math curriculum. I am also curious on whether this could be used by researchers to keep up to date with the latest research on their fields. But all of that is a long way out.

As for your question, there are a couple of ways that Trane could handle multiple paths through similar material.

1. Just have separate curriculums. You could copy the courses, but the second copy has different dependencies, courses/lessons IDs. For example, one could have a series of courses teaching the undergrad MIT math curriculum and another the Harvard curriculum. They might share a lot of the material, but the order will be different.

2. Trane does not lock you into a specific order. There are filters that let you specify which parts of the graph you want to study. You are free to get questions from specific courses and lessons. You can also use the metadata in the courses to say things like "give me questions from all lessons teaching linear algebra" or "give me questions from all courses on real analysis but not from the lessons on set theory". The dependencies between the lessons that match that metadata are still respected. There are a few more options, but you get my point. The dependencies are not set in stone, and there's freedom to jump around and study specific topics.

I actually use option 2 most days. If I want to practice guitar, I just set a filter to give me exercises from the guitar. Similar thing when I want to practice the saxophone.

trane_project··on Bloom's 2 sigma problem
Definitely. I have not worked in frontend/ux stuff for over 10 years, and I am working on this by myself, so I have been focusing on the CLI to quickly iterate and prove that it works reasonably well. Part of the reason of trying it out on math was to a find a more technical group of users.

The ideal state is a graphic interface where the exercises are presented on the screen to reduce the friction. Gotta start somewhere.

trane_project··on Bloom's 2 sigma problem
Thanks for the feedback. An excel course should be doable. Currently the most general way to write material is to use this: https://trane-project.github.io/generated_courses/knowledge_... Basically a folder of lessons where the flashcards are pairs of markdown files.

There's also another tool to write simple flashcards and lessons in a json file, run a command, and build all those directories and markdown files for you, but I have not written the documentation yet. Here's an example for a course based on a reworking of Euclid's Elements: https://github.com/trane-project/trane-math/blob/master/cour...

But plain markdown files for now should get you going.

trane_project··on Bloom's 2 sigma problem
That personal tutoring leads to better outcomes is not the problem. That will obviously be the case.

The problem is how to bridge the gap in a way more people realize similar benefits.

trane_project··on Bloom's 2 sigma problem
I am already working on fixing this: https://github.com/trane-project/trane/

No AI needed. Just an old fashioned depth first search through a graph of skills and dependencies.

I made it to help me practice music, but I have been branching out and using it to study math for a few weeks. I find myself saying "just one question more" and then spending another half hour in it.

Still needs more material to be useful to other people but it's a solid experience. I learned and memorized how to play most of the notes in the saxophone with good intonation in about a week, as a complete beginner.

trane_project··on I used GPT to build a search tool for my second brain note-taking system
Thanks. I am working on simplifying how new material is added (for simple cases, editing a single JSON file and running a build command will be enough to build all the exercises). That should make it easier to create more stuff for it, which so far has been my bottleneck.

For now, this is the most general way to create the exercises: https://trane-project.github.io/generated_courses/knowledge_.... The JSON file thingy is just a script that automates creating these files given the specification, so they will be interchangeable.

trane_project··on I used GPT to build a search tool for my second brain note-taking system
When I played with it, I made it output a JSON file so that it would be easier to handle the output. And I specifically gave it the text to use. It did a pretty good job, but I ran into output size limits.

I agree that using the training data would probably generate more garbage. But it's the semantic analysis part that I think it's useful. In general, I think VCs and OpenAI are overhyping it by calling it "intelligent" and obscuring the very good use cases of the technology. AFAIK, no one involved has explained how a statistical model running on a Turing machine magically develops agency and awareness, which are requirements for actual intelligence (under my definition, at least).

trane_project··on I used GPT to build a search tool for my second brain note-taking system
I've been thinking of using GPT or similar LLMs to extract flashcards to use with my spaced repetition project (https://github.com/trane-project/trane/). As in you give it a book and it creates the flashcards for you and the dependencies between the lessons.

I played around with chatgpt and it worked pretty well. I have a lot of other things in my plate to get around first (including starting a math curriculum) but it's definitely an exciting direction.

I think LLMs and AI are not anywhere near actual intelligence (chatgpt can spout a lot of good sounding nonsense ATM), but the semantic analysis they can do is by itself very useful.

trane_project··on Anki SRS Algorithm : Spaced repetition explained with code
I think it should work for facts, but I haven't personally tried much of that. Right now, it doesn't make a distinction in how it schedules each type of question. I have an update coming that should make it way easier to play with it for this type of purpose. The changes are still not in a formal release, but they are in master and the docs at https://trane-project.github.io/generated_courses.html should give you an idea of how it will work.

For music practice, I find it really helpful. Simply knowing the next thing you should practice without having to think about it too much is very helpful. I find it easier to practice for longer without getting bored as easily. If I get frustrated with something, I can get another question very easily. I find myself not realizing half an hour or sometimes more has gone by, which is not the case as often when I don't use it.

← PreviousPage 3 of 4Next →