Show HN: Trane, an automated system for learning complex skills
github.comHi HN,
I released Trane over the weekend: https://github.com/trane-project/trane. Trane is an automated system for learning complex skills. Think of it like defining a skills tree (technically a graph) of all the smaller skills you need to master a complex skill and having an automated system to automatically traverse the graph as you master them.
The seed for Trane was planted after my frustration trying to learn music, and jazz in particular. There are simply too many things you need to master first (e.g. knowing the names of a note, knowing where the notes are in your instrument, timing, etc) and it becomes difficult to track what it is that you should focus on, and there is a process of constant atrophy, even if you practice consistently.
Trane is an early state, but is already usable. I have released a command line interface at https://github.com/trane-project/trane-cli and some music courses at https://github.com/trane-project/trane-music.
I would like to get some ideas in regard to what other skills could be a good fit for Trane. I am thinking chess, programming, or languages could be a fit. I am wondering if Trane could be applied to something like learning pure mathematics. I would love to hear any suggestions. Perhaps there's some of you who have found a similar issue while practicing your own hobbies.
For people who are interested in this stuff, I suggest this comment thread: https://news.ycombinator.com/item?id=29532704
The ideas behind Trane don't work for things where we haven't had good pedagogical development -- but they are the state of the art for things where we have!
Thanks. Quite the rabbit hole, but I'll try to read it all this week.
And yeah, I started with music because it both has an established pedagogy that is centuries old, and the process consists mostly of repeating the same task until it soaks into your nervous system to the point you can do it without thinking.
But I am curious about the actual extent of the skills that would benefit from this. I suspect it's a matter of having experts break up the domain knowledge and the right exercises/tasks. Like, could anyone learn soccer using Trane? Have the tasks being progressively more difficult drills?
It’s the matter of having identified repeatable processes that lead to success. In many fields/areas it’s try a bunch of things randomly until you develop the intuition for the skill well enough for one to stick.
Language is a great example next to music. Both are as old as humanity, yet we still can’t reliably teach anyone a second language. But it’s obvious that it’s possible because there are people who regularly achieve this.
Yup. Language learning falls in this bucket. We don’t have repeatable processes for making someone fluent in another language. It’s very luck based for the people who succeed which are a very small percent of people who try.
I love the concept. Would love a video or walkthrough showing the big picture and how it works before downloading and spending time on it...too many times I've invested time only to find something wasn't a match.
Closest thing to a walkthrough right now is the README in the trane-cli repo. It has the output of some of the commands so you can see what it looks like.
The only difference in normal usage is that you eventually reach the threshold to be shown more difficult units.
I skimmed through the readme but wasn't able to find the commands.
Generally, this is the biggest barrier for me when trying out stuff - there are repos with explanations, but nothing to show how it actually looks or works.
Please add at least sample screenshot of your command line! :D
TaskWarrior is a good sample - it has a page that shows one workflow with commands, so you instantly feel like you know how to use it. If they just said "this is a todo app" etc, I don't think I would have tried it. I've also tried to convey what my app looks like exactly with actual screenshots - https://github.com/CatalanCabbage/the-wall
Or maybe it's just me being obsessed over this stuff.
Anyway, looking forward to try your app! I've wanted something similar for a while. Right now I use a spreadsheet for spaced repetition (with columns for difficulty and time)
I guess you looked at the readme for the trane project, not trane-cli: https://github.com/trane-project/trane-cli
Trane, a company that designs and manufactures residential and commercial heating and cooling systems:
https://www.trane.com/index.html
That's what came to my mind too. I would be careful with attempting to reuse previous trademarks.
Same. If this gets any success at all he's gonna get hit with a C&D pretty quick.
Because...residential and commercial heating/cooling systems and spaced repetition CLI apps are easily confused...?
Not having a case doesn't prevent you from sending scary letters when you have lawyers on retainer.
… deleted …
This is a misleading statement.
The only reason to fight for a trademark is if you are at the risk of "genericization", like happened to Kleenex or Xerox. If someone else is using your trademark to refer to something that is a substitute for your product (i.e. using Kleenex to refer to another brand of tissue paper), that's where you need to step up.
However, that's an exception. In general, you just have to actively use your trademark in relation to your product to keep it, and you are not required to fight other companies who make similar trademarks but do not risk genericazation.
This case is very clearly a case where the term is being used in a totally different non-confusing way, which means it's both not a trademark violation, and also that there's no risk of genericization occurring.
The two things in question are so different it would be like suggesting that Apple has to sue my local coffee shop to retain its "Cocoa" trademark (the software UX toolkit) since my local coffee shop sells cocoa.
Eat a giant bag of festering pus-filled donkey dicks.
Yikes! This kind of thing will get you banned on HN. I'm not going to ban you right now because I didn't see other examples of it when I skimmed through your history just now, and I did see other comments that were good HN posts. But please don't do it again, regardless of how wrong or bad some other comment is or you feel it is.
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
dang I want some of whatever medication you're on that lets you maintain this level of even-handed calmness.
The power of repetition.
Back in the 90s they made an amazingly robust floppy disk duplicator.
Very interesting. I'm currently working on the query system for score structures in Parture (https://parture.org) which allows generating a list of sheet music according to skill qualifications that can be expressed in a query. That way, you don't need a guitar teacher anymore guiding you through what the next best thing to practice would be for your current level of proficiency. Would love to integrate the Trane concept into the editor.
How long until we could use it to learn guitar? :)
Would love to build a lesson plan for learning the piano using this system.
What’s a good resource to build “excercise” units for learning the piano in a system like this?
For the actual building of all the manifests and asset files, take a look at https://github.com/trane-project/trane-music for some examples of how I am generating them. This might seem kind of annoying at first and I wasn't sure if it was the right call at first, but having to manually generate all those JSON files is way more annoying.
If you want to learn the piano, it'd be useful to be able to reference an external resource. I am thinking of mostly using https://www.soundslice.com/ to create the music sheet. There's already a special asset to reference a soundslice link, although it probably needs some improvement (add a description along the link for example). This asset is at https://github.com/trane-project/trane/blob/master/src/data....
Once there's a graphic interface, these kinds of resources could be embedded inside the app so that users don't have to switch context.
But for now, an exercise that says "go practice measures X through Y in this slice at this link" or "practice piece #X from book Y" should be enough to build the exercises.
Blender 3D is pretty complex and powerful (and therefore kinda hard to learn at first). Pretty sure some folks out there could benefit from anything that helps make it "easier" to learn. Godot game engine also comes to mind for similar reasons. Quite a lot of the most powerful software out there could honestly benefit from learning aids.
I am thinking it would take the form of creating a bunch of Blender files and then present them to the user, asking them to open them, and do a simple task (add a sphere, rotate the view, etc.). Probably a lot of work, but it seems doable.
I set up Trane as a library rather than a monolith app because I think another use would be embedding Trane into another application's tutorial mode. So one could open Blender, click an option on the help menu, and open a tutorial that progressively teaches you the ropes of the app and keeps your progress.
I was thinking of fighting games, which already have tutorial modes, but something like Blender or Photoshop is also a good candidate.
At first glance, this appears that it could have considerable potential. What do you think about changing the name to something unique since it’s so early on? Ethereal -> Wireshark, etc…..
I hope I don't have to change it. I quite like that it sounds like train, since it's what it does. Someone mentioned a company by that name but I think I am in the clear because they are in a completely different industry.
I'd be more worried about someone in John Coltrane's estate having an issue with it.
Its a perfect name
This is very cool. Looking at the example, this seems highly applicable to rote learning.
I might mess with this on the weekend. I think the sciences would appreciate this tool.
Looks good — I’ve been looking for a low-level SR system not tied to a SaaS or Anki.
Well done on getting it released.
The link to music repo is broken in your readme though :(
Fixed. Thanks for pointing that out.
Any plans or interest in a user interface?
Yes. I am not very familiar with GUI development so I focused on the CLI first. No concrete plans yet.