Hacker Newsnew | past | comments | ask | show | jobs | submit | RobbieGM's commentslogin

I donated to https://github.com/robbert-vdh/yabridge once. Invaluable for working with Wine-compatible VSTs on Linux.


As one example, sr.ht advertises the lack of AI features.


I took this course 3 years ago. I found it fast-moving, and it focused a lot more on applications than fundamentals, which meant it was more wide than it was deep. This didn't turn out so well when I decided to study ML later and needed stronger linear algebra fundamentals, but it was a fun course. There were a couple interesting course projects, one of which was using linear algebra to balance a (simulated) 2D robot.


No one, and let me repeat that, no one "gets" linear algebra, differential equations, or frequency domain on the first pass. It takes years to absorb and multiple passes.

See:

Bruner / Spiral Curriculum.

Ebbinghaus / Spacing effect

Hattie / Deep-surface-transfer learning

Chunking ("How People Learn" has a good copy on this)

Etc.

The way you do this is you take a course, and then you take more courses. After a few years, it all connects and makes sense. The first course, I find, is often best short, simplified, and applied. Once you get through that, you can go deeper.

Different angles are nice too. For linear algebra:

- Quantum computing

- Statistics and probability

- Machine learning

- Control theory

- Image processing

- Abstract algebra / groups / etc.

- Computer graphics

All come to mind.

On a mile-high level, this course seems ideal for a first pass. On a detailed level, I'm confused by some licensing issues.


Not with the way it is taught. But if the course structure is changed slightly to have reinforcement of early concepts woven through the course, people learn much better.

At least that was my experience when I taught it. See https://bentilly.blogspot.com/2009/09/teaching-linear-algebr... for more detail on my experience.


> No one, and let me repeat that, no one "gets" linear algebra, differential equations, or frequency domain on the first pass. It takes years to absorb and multiple passes...

I don't understand the point of this comment. On the one hand you're trying to encourage people by saying "don't feel bad you didn't get it the first time" but then you throw a mountain more work/terms/books at them? You think it's encouraging to a student to hear that if they didn't succeed in this robotics class because the LA coverage wasn't great ...... they should go take quantum computing, control theory, abstract algebra classes?


Really for my linear algebra courses in pure math i was comfortable--but some applications courses would help me understand the usefulness.


Tangent, but how does that course make anything "more equitable" as per the video?

One of the umich grad school prereqs for economics was linear algebra, and it was literally just that - pure math.


Where do you feel the gaps were for what you needed for ML? Downthread, Jesse Grizzle notes they've added some stuff in 2023 (it's on Github I think?) to support an ML class.


What would you recommend for building a strong linear algebra foundation?


Also a big fan of Strang. "Linear algebra and its applications" has problem sets with solutions for odd number questions.

Would highly recommend https://mathacademy.com/courses/linear-algebra or https://mathacademy.com/courses/mathematics-for-machine-lear...

I originally spent time working through practice problems from one of Strang's books, now really appreciate how systematic math academy is in assessing, building a custom curriculum, then doing spaced repetition.


i don't really care how many people i respect liked it, i have to be honest, i hated strang's "linear algebra and its applications."

there's a strang text on computational science that was much more my speed (less of the baby talk and repetitive manual arithmetic exercises) and i think that some of the revisions that came later (+ "learning with data") were better.

i did not find doing endless exercises of gaussian elimination or qr factorization by hand on small matrices to be all that enlightening.

this michigan course looks awesome!


> less of the ... repetitive manual arithmetic exercises

I think this post (from a math academy employee) has a good argument for why these sorts of exercises are important. It's about basic arithmetic, but I think it applies to tedious things like performing gaussian elimination on small matrices as well.

https://www.justinmath.com/if-you-want-to-learn-algebra-you-...

I like to come at it from both angles - higher level with useful applications, and then lower level "I could maybe implement this if I had to" exercises. The latter are tedious, and hard to motivate effort for without the former. Ultimately, as the post argues, I agree that if you don't understand the lower level (tedious) operations, you will only get so far in your ability to apply LA.


I took 18.085 (applied linear algebra) as a grad student at MIT. The best taught math course I've ever taken. Strang is a fantastic teacher.


After working with math academy, any form of video learning seems so inefficient. I think people lose a lot of time watching these videos thinking that they are learning without applying anything by themselves.


It’s $50/month online course. As effective as it can be, I can’t justify this expense for myself, as much as I’m fascinated by math.


UMich has a couple other linear algebra courses that might be better for that: MATH 214, MATH 217 are the numbers if I remember correctly. 217 is known for having a high workload and greater rigor, but some say it's worth it even for non-Math majors.


In terms of books, I would say Linear Algebra Done Right. The book requires some background to understand efficient. But, once you have some background, it is very good for having a systematic and rigorous understanding of Linear Algebra theory


LADR is the SICP of linear algebra.

If you can handle it, fabulous. If not, you're really in deep doo-doo. There did not seem to be a half-way to me. Astounding exercises, and also some are astoundingly hard.



  Location: Ann Arbor, MI
  Remote: Yes, or hybrid/in-office
  Willing to relocate: Maybe
  Technologies: JavaScript/TypeScript, C++, Python, Java, Git, React, Next.js, Node.js HTML, CSS, SQL
  Résumé/CV: https://robbiegm.github.io/ https://www.linkedin.com/in/robbie-moore-7217b9175/ (resume with references available upon request to protect their privacy)
  Email: robbiegm@umich.edu
I'm a University of Michigan 3rd year undergrad student looking for a summer 2024 internship. I fell in love with programming 9 years ago, and have been aiming to make maintainable, user-friendly software ever since. Outside of school, I've built my programming skills by creating a number of side projects, working freelance, and doing two summer-long full-time internships at Domino's. At the University of Michigan, I've taken courses covering machine learning, robotics, computer microarchitecture, data structures & algorithms, technical communication, and more.


There are some really good piano samples available for free--why put in the work for the physical modeling approach?


In (very) short: the resonance (notes interacting with one another), combined with the analog nature of varying velocity (how hard keys are pressed), combined with pedaling modifying both of the above.

The resulting combinatorial explosion means that the number of samples you need to capture, in order to have a high-fidelity reproduction of a physical piano, is enormous.

Putting aside the practicality of capturing all of this, you're still looking at tens to hundreds of gigabytes of raw samples per piano.

(Great question, by the way.)


Modeling also allows you to create an infinite number of instruments much more easily, and could allow someone to fine tune an instrument to just their liking


Do you have any further information or a source for this? As someone unfamiliar with ML, this sounds crazy to me.


It was first proposed here[1]: "Approximation by superpositions of a sigmoidal function"

[1]: https://link.springer.com/content/pdf/10.1007/BF02551274.pdf


Do you have a more sustainable way to produce meat in mind? Ethics aside, the addition of another trophic level makes meat production necessarily less efficient than that of an equivalent amount of plants.


If I had an easy way I'd be a hero and likely pretty rich.

I'm excited about vat grown protein (not plant based) over the long term, but in the short term I think we would get some traction from eating less feedlot grain fed meat and more free range grazed meat that could use less desirable land to produce.


I like his channel but he's far from perfect. There's a sponsored product in most of his videos


For anyone interested in trying it know there is one major downside: most Linux binaries won't run on it because dynamically linked libraries work strangely on NixOS


If you then distribute that modified software, users don't have the freedom to modify it in turn since your source code would be unavailable.


exactly, I wrote it and I may not want to give that away.

GPL prevents me from keeping licensing rights over my own changes. the GPL forces me to give up copyright over my own code before it is even written.

"freedom" my white ass. that's a jail.


The GPL doesn't force you to give anything away if you've just modified the code for personal use. You only need to provide source code if you're distributing your modified software.

You're free to avoid using GPL code if you disagree with the philosophy but it is undeniable that GPL greatly improves software (for users, not corporations) like linux and ffmepg.


> The GPL doesn't force you to give anything away if you've just modified the code for personal use. You only need to provide source code if you're distributing your modified software.

I'm not free to keep my changes, though, and if I don't have those rights, it is because I've given them away at the behest of the GPL. My changes are GPL even if I never distribute them. I'm prevented from licensing that code how I choose. GPL takes my effort and forces me to either never do anything with it or to give it away to everyone.

I will never work on code that is licensed under any GPL variant. I will not donate my time to expand the functionality of that code or to fix any problem for software which supports a license that removes freedoms from the people who maintain it.

The GPL is viral and parasitic and I will not contribute to that.

Maybe I would have freely given my code away if it was MIT licensed. Maybe I would keep it for myself. Maybe I would turn it into a commercial product.

My point is that THE CHOICE IS MINE if I work on code that is MIT licensed.

The choice is what matters to me, and the GPL forces me to give up that choice. I can't agree to that.


> I'm not free to keep my changes ... I'm prevented from licensing that code how I choose.

You seem to believe that your rights trumps everyone else's. You are ignoring that it is not just your code.

If somebody has released the source code under the GPL license, they are the original copyright holder(s) giving you permission to reuse the code under certain conditions (as outlined in the GPL license). They choose the GPL license because they believe GPL protects their rights, and the open source philosophy best, as the GPL license ensures that the code they created will always be open source when changed and distributed by other coders.

Instead of complaining about other people's choice of license (GPL or MIT), think instead of how you would like your open source code to be used by others and what license you would choose to achieve those goals. You are free to do whatever you want with your original code and thus can license it however you want. But once you start reusing other people's code, their rights and beliefs also matter. If you don't subscribe to their belief, then obviously you have no choice but to not use their code.


> once you start reusing other people's code, their rights and beliefs also matter. If you don't subscribe to their belief, then obviously you have no choice but to not use their code.

The only way I know for sure about their rights and beliefs is via the requirements in the license. If they want me to comply with further ideals, codify those in the license. I am not obligated to believe that the code is in use by aliens from planet Xobnar, as an extreme example.

If I comply with the license, the requirements are met, and I am free to use the code.


> The only way I know for sure about their rights and beliefs is via the requirements in the license.

Yes, and so you have to comply with the license or not use their code. If you distribute some code with some conditions for its reuse described in a license, would you like it if I called your conditions / license "stupid", ignore it and still use your code as I see fit (which would be illegal)? Obviously no.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: