Ask HN: How do I get good at math as a 42yo with kids?
Hi HN,
I'm a 42yo software engineer (mostly working on web stuff), and back in high school I had a terrible math teacher who made me lose my interest in the subject. As a result, I lack a lot of foundations in it, and math in general scares me.
I want to become math-literate, as a first step.
Ultimately, my goal is to be able to do more ambitious things with computers; I find that my lack of confidence when it comes to math is often holding me back. For example, I want to be able to read ML papers and understand how these things work.
Grateful for any suggestions or success stories!
45 comments
[ 4.6 ms ] story [ 127 ms ] threadAnd yes - consistent practice is a must, thanks for reinforcing that.
Here's some advice I've been given by maths professors that I've put into practise. This stuff really works.
-- Make sure you can do it cold, as in make sure you can do things without looking at notes, or looking at wherever you learned it from. For example, say I give you a calculus problem, you should be able to solve it without any outside help, just you, some paper and a pen. No notes, no Google, nothing else. If you can't, then you need to study more and do more problems.
-- Build a routine. Make sure you study whatever it is you want to study every day at the same time and you'll find yourself wanting to do it after a habit is built. And if you miss a session, for whatever reason, you'll feel quite bad about it, and want to try extra hard in the next session because you know you're "behind schedule".
-- Actively recall whatever you've learnt. You can do this by quizzing yourself (make your own problem sets, or do problem sets made by others), and by using flashcards/anki for the things you have trouble memorising. This is one of the best ways to retain info.
-- Don't stress or get angry. You'll just stop the learning process. If you find yourself stressed, or angry, take a break. Remain calm, happy and curious.
You can do it. I believe in you. Start today.
What changed for me vs school days is that I don't have long blocks of time to work on a problem, so a tricky problem is likely to be skipped. I had to actively force myself to not skip hard things, meaning some days all I did was spend 10 minutes on the problem, find the wrong answer, and go to bed to try again tomorrow. Eventually I get em and move on much happier.
Unlike school days you have years to do this right.
OP, I recommend you take parent's latter points to heart. I (and likely you) need to re-learn how to learn in this phase of our lives, vs what we were used to as younguns whose entire job was just learn.
It's expensive at $50 per month, but it seems highly thought of if you look at Algolia (https://hn.algolia.com/?q=math+academy).
I haven't used it myself, but I am evaluating it for my kids to use.
It's too early to give feedback on that front, though.
Beast academy is around 15/20 a month and apps is more but you can just buy the book and work through it. Richard (the aops co/founder) has a ton of YouTube videos as well.
A third option is aops’s alcumus - which is a free math problem database. We use that a bunch as well and you could use it to figure out what you know and don’t know
They are also WASC accredited if you’re in the US.
Lastly, try to have fun with it. Back when I started the journey, I was to focused on what I could get from learning math (that is, getting into college and then, hopefully, a job), that took out of the experience a bit and the only thing that kept me going, though I didn't recognize at the time, was the joy of learning something that I believed my whole life to be unapproachable, at least by me. So be patient, if you bang your head enough times against this wall, I can attest that it eventually starts to show cracks.
Good luck on your learning journey.
--
[1] https://www.khanacademy.org/ [2] https://tutorial.math.lamar.edu/ [3] https://open.umn.edu/opentextbooks/subjects
Just read the damn papers, and take notes, not because you’re going to want to review them later, because the mechanical process of writing things down burns them in.
The math will come through your persistence, I’m sure you’ll try and not finish dozens of YouTube lists and online courses. Build that store of PDFs on everything math related.
In the end it is merely making yourself do it that will make you that man.
btw, I was mathless for much of my life. Only later (also a self student of the many other things) did I have epiphanies of math that clicked it together.
A lifelong programmer, equations are like miniature procedural logic scripts or constraint definitions, one must spend the time learning every reference, and when you’ve had enough of that you will be able to “read” the math. It’s really not a large language, most people probably take years learning about sets and recursion and things that a programmer should get right away.
Like base conversion. A lot of complicated looking math is really just base conversion between different metrical scales.
It’s famously a brief intro before the rest of the book, but more math than most everyone learned.
Years later I came back after graduate school etc, and yeah chapter 0 is kind of basic material the reader should know :)
I'd focus on digging some good CS foundations course if I were in your shoes. To avoid overwhelming myself with redundant info.
Fortunately, there are a lot of great older-edition, cheap used books on Pre-Algebra, Geometry, College Algebra, Pre-Calc, Calculus, DiffEq and Linear Algebra, etc.
It will take some time to master all the math you want... but if you structure your studying so that are you actual enjoy studying (i.e. enjoy the process), you will 100% get there.
I'd be happy to list out of some book recommendations.
I will echo the sentiment of others that you don't need to be a math expert to use machine learning libraries effectively in many cases. The problem is, without the math expertise you won't always be able to identify the cases when you are using the wrong approach, etc. And you'll have a harder time applying cutting edge ML to new problems.
I also think you can ask ChatGPT to teach you, and work problems with it using math/latex.
DE: Tenenbaum and Pollard (ODE) or https://tutorial.math.lamar.edu/classes/de/de.aspx
Linear Algebra: Gilbert Strang's book. There’s also an MIT-OCW course to go with that.
You could also get something like Riley, Hobson, Bence and read the relevant chapters.
https://minireference.com/
https://books.google.com/books/about/Mathematics_1001.html?i...
If anyone is interested in the "No Bullshit Guide to Math & Physics," you can check out the extended PDF preview, which includes a free chapter: https://minireference.com/static/excerpts/noBSmathphys_v5_pr...
The concept map from the book might also be of interest independently of the book, since it shows the connections between high school math topics, physics 101 (mechanics), and calculus: https://minireference.com/static/conceptmaps/math_and_physic...
I try to grok what Claude explains, open Obsidian and then paraphrase it myself with the exact problem they're working on, along with 1-2 additional examples.
It helps that since graduating high school (long ago) I've developed an interest and enjoyment of math. I do some of their problems for fun.
When possible, I try to have them start by explaining what they know so far, and then we work together on filling those knowledge gaps and inaccuracies. It totally has to be a back and forth thing with me/AI or they won't grok it.
I used those along with a few exercise books and a Casio FX-82ES Plus 2nd Ed.
My advice: keep practising maths every day, or you’ll just forget it again.
You can also copy and paste complex maths problems or papers directly into an LLM - it does a decent job of explaining them. If you get stuck, try the "Explain it like I’m n" trick, decrementing n until it makes sense.
[1] https://mml-book.github.io/book/mml-book.pdf
[2] https://www.khanacademy.org/
But I keep at it, and I do keep learning. I am striving for better literacy (i.e. being able to read papers).
The advice I've been given, and it is helping, is to be persistent and to actually do the work. Only through doing will you start to see everything take shape. You will start to notice the way problem sets are laid out and build up your foundation.
It's like the Karate Kid. Wax on, wax off. Paint the fence. You can't just read the material and hope to keep your understanding. You have to burn it into your memory through practice.
There’s also an ocean of great YouTube math content, sometimes packaged in hidden ways (ex. I’m away from my bookmarks at the moment but there’s a guy who does fantastic Three.js tutorials, and to see abstract math concepts applied to real, visual projects, it’s really eureka-level shit for me personally)
0. https://www.3blue1brown.com
EDIT: found the YT channel, very solid stuff [1]
1. https://youtube.com/@waelyasmina
You should start with mastering the basics to the point where you are able to do the calculations in your head almost instantaneously. Start with the material from a book series called The Cosmic Calculator. Digit Sums touch on modular arithmetic and cyclic groups (in Abstract Math).
Math is all about relationships, and nearly everything is built on a shaky foundation until you reach Abstract Mathematics (Modern Algebra), where you have to go and unlearn a big portion of what you thought you knew.
In this coursework you learn how math actually works, as opposed to memorizing a bunch of skills and strategies that may or may not work depending on the circumstances.
You'll also learn how to test for the fundamental properties you will need to perform operations between two differing objects.
Most hard science uses strategies to gatekeep careers using math, and the structures of much coursework are designed so that bridges get burnt, and the student is blamed and tortured until they quit.
The NEA promoted these structures. For a concrete example, the first of several of these gates is the three course series Algebra->Geometry->Trigonometry.
What goes undisclosed is grading changes from only following the correct method to pass Algebra (not getting correct answer), to correct method and correct answer (in Trigonometry).
There is a semester between the changes of unrelated material, so you can pass 1, and 2, and then repeatedly fail 3. The student is blamed for not knowing the material, and teacher may not have the resources or time to identify and teach a class that is not their responsibility, where the student should have failed the class 2 classes prior.
This is just one of several by-design stumbling blocks. The student is made to think they just aren't good at math, and the lack of agency to correct, the isolation, and the circular nature meet all the requirements for torture. This is how students get PTSD and never learn math beyond the bare minimum that's needed.
I think the only thing I use is some basic algebra a few times a year.
When I do standard CRUD in PHP, there isn’t much "math" involved. "Not even" clean category theory and/or powerful type systems.
Some other applications in number crunching and measurement are really math and stats heavy, though.
School-like math can be learned from text books, however, learning it with real people seems often more enjoyable.
University style math, where you learn how to build/make mathematics and learn how to dig into all the intricacies can be really fun and change your world view and problem solving skills forever. The tricky but is that some of the essential tribal knowledge is very difficult to find outside of good introductory university lectures. That’s a bit of a drag.
What kind of math are you interested in?
The big split (according to Grothendieck) seems to be Geometry vs. Algebra.
Algebra covers symmetries. For example, repeating patterns, scaling a business, for-loops, and double entry bookkeeping/accounting (disregarding measurement problems).
Geometry covers asymmetries, conditionals/"if"s, lengths, distances, approximation (as a concept, confer Cauchy-sequences) and things like statistics/ML/LLM, numerical optimization, computer graphics, non-standard Analysis with infinitesimals, Differential equations and dynamical systems, Fourier transforms (arguably not Algebra), compression (arguably not Algebra), and information theory (arguably not Algebra).
There is also set theory for relations (think relational databases), and graphs (with edges and vertices/nodes) (applications include register allocation in compilers via graph coloring as well as git and Merkle trees a.k.a. "Blockchain" disregarding the ledger). Then there is lambda calculus and similar fields. You can also go into formal logic (Some logicians and philosophers are unsure whether this is mathematics in the strictest sense).
Which problem domains or specific problems are you interested in?
(Interest leads to learning -- never the reverse. Paraphrasing Taleb)
Domains (as I know the term) are more of a set theory idea. Not that that matters.
Algebra also seems to be part of thinking well, however, calculus exposed me to patterns that I hadn’t seen in programming all that much. Many of the Algebra patterns I had already been familiar with from programming.