trane
book
trane | book | |
---|---|---|
26 | 22 | |
759 | 1,691 | |
0.0% | 0.4% | |
8.4 | 0.0 | |
4 days ago | about 1 month ago | |
Rust | Handlebars | |
GNU Affero General Public License v3.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
trane
-
Benjamin S. Bloom: Learning For Mastery (1968) [pdf]
My implementation of mastery learning (along with other related ideas): https://github.com/trane-project/trane/
It bothered me enough that there was not something like this already available, when the idea seemed so simple, that I ended up doing it myself. The user experience is not very polished yet, but I managed to turn the courses in here https://improviseforreal.com/learning-materials into courses for this software that can teach you ear training and to improvise on any instrument in all keys, all modes, and most common chord progression. Currently, I am doing it for piano, but I've only reached about 15% of the total jam tracks so far. Obviously, I am not distributing the tracks myself.
I am pretty sure the main issue is that there's no one funding implementing these ideas. We've known about mastery learning, spaced repetition, interleaving, etc. for decades, but it's not all been put together into a coherent system. Something like https://mathacademy.com/ is similar, but it's not open sourced and cannot be used to create your own materials. No need for LLMs or anything fancier to be involved when there's so much low-hanging fruit that's not been implemented yet. The core of my software is just a depth-first search over a graph, lol.
-
A half-hour to learn Rust
Not sure if I disagree but your example is terrible. Let patterns in if statements greatly simplify things. The alternatives are a lot more convoluted.
See example from code I wrote this week: https://github.com/trane-project/trane/blob/master/src/data/...
Without the let, I'd have to do a match statement followed by an unwrap just to check if a field in an enum is set.
-
Jazz Comping
That's pretty much what I've been trying to do with https://github.com/trane-project/trane/
I wanted something like you describe, but as far as I know nothing existed. So I've been hacking at this and the basic idea does work. It's now just a matter of designing the courses and polishing the user experience.
I am just coming up with the structure for how to define what music would depend on each other. Trying to do it based on music theory would be ideal, but probably beyond my capacity. So I think the historical development of the genre you are trying to learn is a good proxy. For jazz, for example, this would be something like learning African music first, then spirituals, then blues songs, then new orleans jazz, then basic standards and so on. Trane works based on a graph, so the progression does not have to be linear.
It's pretty early stages at the moment. Only one course for now since I've been trying to work out the process first: https://github.com/trane-project/trane-music/blob/master/cou...
These "transcription" courses first ask you to loosely sing the song, then loosely improvise over it with your instruments (you can customize your own), then sing in different keys and do it more thoroughly, then improvise more closely to the actual song. The last step is what is normally called transcribing, but the course is meant to progressively lead you to that. The whole process is meant to recreate the apprenticeship process that all the early Jazz masters went through.
Ideally there's a graphic interface that downloads the music and lets you loop, slow down, and change the pitch. But for now, there's only a command-line interface and the user has to do that themselves. Not ideal, but it works.
-
I’ve fallen in love with rust so now what?
Link to my project: https://github.com/trane-project/trane
-
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 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.
-
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.
-
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...
-
Bloom's 2 Sigma Problem
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.
-
GPT for Second Brains
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.
-
Do u think it's a good idea to ankify ur hobbies
Theres a program that you might wanna check out for learning skills, it's called Trane. https://github.com/trane-project/trane
book
-
Implement React v18 from Scratch Using WASM and Rust - [1] Build the Project
For more information, you can refer to the Rust and WebAssembly.
-
Hello, I am React Developer who wants to start use wasm in rust.
As a starting point for Rust in general, you should read the book. And if you got some grasp of Rust, you should take a look at the book about Rust and Wasm.
-
WASM: memory.buffer byteLength smaller than the offset of the pointer
I am following the Rust Wasm book. I have the following struct.
- I’ve fallen in love with rust so now what?
-
Any idea about what Figma is using to run Rust/c++ code in browser?
https://rustwasm.github.io/docs/book goes over how to compile to WASM and rendering to a canvas.
-
Rust で WebAssembly (wasm) - Arch Linux + Webpack (Rust 1.66)
Rust 🦀 and WebAssembly 🕸 (英語)
-
Rust for Web for somebody who's never done any kind of WebUI before
I'm a little confused about how Rust fits into your UI-for-a-Python-API thing. Web UIs are typically written in Javascript or something that compiles to Javascript. Compiling Rust to Javascript is a not a common use of Rust at this time. The typical use of Rust in a web application would be the part that runs on the server (the "backend"), not the part that runs in the web browser (the "UI"). While you can write web UIs in Rust, this is a thing better learned after learning the normal way to do it, in Javascript.
-
Compiler option to make all panics be undefined behavior?
AFAIK unwinding in WASM is not a thing: https://github.com/rustwasm/book/issues/76
- What's the best way to generate WASM programmatically?
-
Cppreference-like documentation for Rust?
Honorable mentions: 1. Easy Rust for a general overview of the commonly used features 2. Rust/WASM for developing WASM apps in Rust
What are some alternatives?
fsrs4anki - A modern Anki custom scheduling based on Free Spaced Repetition Scheduler algorithm
wasm-bindgen-rayon - An adapter for enabling Rayon-based concurrency on the Web with WebAssembly.
genanki - A Python 3 library for generating Anki decks
wasm-bindgen - Facilitating high-level interactions between Wasm modules and JavaScript
typeshare - Generate code in different languages from Rust type definitions for FFI interop.
trunk - Build, bundle & ship your Rust WASM application to the web.
trane-cli - A command-line interface and utilities for Trane
zig-wasm-test - A minimal Web Assembly example using Zig's build system.
trane-math - Official math courses from the Trane Project
wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
trane-music - Official music courses from the Trane Project
wasm-bindgen-rayon - An adapter for enabling Rayon-based concurrency on the Web with WebAssembly.