I've found that our youngest employees are coming out of school with little-to-no knowledge of how to work spreadsheet software - even those who are otherwise pretty technically proficient.
While programmers tend to eschew tools like Excel, in consulting (or at least the consulting we do) it's critical to being able to understand how a process works before designing an automated solution. Excited to potentially have a way to share that understanding.
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.
The CLI approach assumes people are comfortable using the terminal, which unfortunately limits the number of potential users
The ideal state is a graphic interface where the exercises are presented on the screen to reduce the friction. Gotta start somewhere.
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.
I'm going to do something similar with Anki. I'll try to compare the two...
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.
Next.js makes React less painful
Solito makes Next.js + React Native a possibility today: https://news.ycombinator.com/item?id=30678100
Prerequisites for calculus: an understanding of the standard reals OR an understanding of the hyperreals. Yes, real and hyperreal analysis are radically different in many ways, but they're provably equivalent, and they get you to the same answers. Some people find one more intuitive than the other, and some problems are easier in one than the other.
Imo, the biggest issue with mathematics education is that it tries to push you down one, standardised way of thinking about things: if you don't get it, that cripples your ability to think and reason for yourself. The main thing I do in one-to-one mathematics tutoring is finding how the student thinks, and nurturing that (instead of stamping it out and replacing it with a "more formal" approach).
I'd like to see something branchy, but I haven't found a good solution. Do you have any ideas for tackling this?
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.
However, many people find it easier if you have concrete anchors, rather than making everything an abstract ivory tower. A certain kind of musician might get Fourier series quite quickly by analogy to the behaviour of sound, and then pick up Taylor series by analogy to that; somebody like me might find it easier to translate the most general Fourier series to a Maclaurin series, then compare coefficients. All these approaches would give you an understanding of Fourier, Maclaurin and Taylor series', which then lets you learn things that build upon them.
The "separate courses" approach is doable (and the best I've come up with so far), but it doesn't scale: courses that cover the same things without providing further insight don't get merged together. It can't handle the combinations that, intuitively, I feel like there should be a way to handle. Human teachers can cope with it just fine!
One nitpick on trane-math: running `cargo test` will wipe out the .trane directory, if it exists. That seems not very good; perhaps there should be a way to point trane at a temporary directory, so you can test it better?
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.
It's a good idea to limit the scope of your projects. Jack of all trades is a master of none, and the fact trane exists (and is GPL'd) makes it just that bit easier for me to solve the other problem.
Their team of mathematicians have created a curriculum from k-12 to a bachelors in mathematics.
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.
And yeah, I don't think Anki gets a lot of support. I am an open-source maintainer myself, so I know that story.
I have two children and I was glad that teachers are willing to use new tools (I never asked if they were forced to use them, but I assume not because each teacher seems to use different websites). I'm sure some kids still get bored, but they can let the ones who enjoy math practice at their own pace and provide special guidance to them while still spending the majority of their time helping those who need it.
If you want to learn some math and are willing to fork over $50 a month, my advice is to find a competent tutor online*, tell them what your goals are, and work with them to produce an evolving, customized mini-course.
Have them pick material suitable for your goals, work through it in-session together so they can spot gaps in your knowledge/technique and make progressive problem sets to cover those gaps, and so on.
*A local tutor would be better, but I presume they will be prohibitively expensive in the average HN user's location.
But how many hours of tutoring will 100 bucks/month get me? Maybe 1 hour per week.
Compared to an online platform that's being used by a ton of people, has lots of reviews and recommendations and that is, presumably, actively optimized through a feedback loop, it's an easy choice between the two. Also, a platform removes the friction of cancelling the engagement if the need to do so arises for whatever reason.
I mean, if someone I know points at a postdoc and says "this guy is excellent", then their recommendation will prevail. But chances of that happening are next to zero.
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.
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.
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.
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.