Jeremy Kun writes on math for programmers, covering linear algebra, cryptography, and algorithms, and wrote a book on the subject.
HN commenters recommend it for distilling complex math into approachable primers, and praise his book, A Programmer's Introduction to Mathematics.
Surprised nobody has mentioned https://pimbook.org/
Jeremy Kun is a mathematician and programmer who has worked at Google and also maintains a blog at https://jeremykun.com/ (though he's writing another book more than he's blogging atm).
This does a fantastic job of teaching how you read proofs, which is otherwise a very frustrating exercise for the non-mathematician. Mathematicians, he explains, write for other mathematicians rather than students, so even rigorous proofs are full of implicit assumptions and handwaves that are deeply confusing to those outside the discipline. Kun elucidates how mathematicians think and communicate, from obscure but important typographical symbols to how conceptual formation proceeds very differently from algorithmic execution - emphasizing mathematicians' goal of understanding why mathematical objects behave a certain way as distinct from observation of how they do it. He goes back and forth between picking mathematical entities and showing how they can end up as code, and looking at code that 'just works' and backtracking to explore what makes the underlying math optimal.
It's language-agnostic and takes a slow measured approach, delving into different areas of math (calculus, linear algebra, etc) in each chapter and taking time to situate the examples in their historical and developmental context (this is foundational, that derives from the application of technique in one field to a problem in another). It's not a quick or easy read and…
wtf is wrong with hn.
>[sorry if I am being blunt, but it's how I feel]
you should learn to keep your feelings to yourself when the only function they serve is to denigrate others and derive cruel satisfaction for yourself.
>Here is a rule of thumb that in my experience applies well to almost everything in mathematics
this is aspirational pretension - everyone claims to appreciate formal purity /after/ they've learned something but when you're /learning/ none of that matters because you're just trying to develop intuition. to be one of those people that understands after their own stumblings/ruminations and then begrudge the next person the same is despicable. shame on you and i hope you're never in a position where someone depends on you to teach them absolutely anything.
>Imprecise definitions. This defeats the purpose of learning mathematics. Like Leslie Lamport says, rigour in mathematics is not a hurdle or a chore one must endure,
but that's just like your opinion man (or leslie lamport's). there are shelves and shelves of books for people like you - go read bourbaki or rudin or mochizuki or whomever you'd like. this book is not for /you/ - it's stated purpose is to excite and entice people that don't have formal mathematical training to learn mathematics and those sorts of people decidedly don't enjoy austere definitions and succinct theorems and terse proofs.
hence the only purpose your comment serves is to hurt the author's feelings, an author whom i might add…
You got it! By approximate category and in no particular order:
## MISCELLANEOUS
- [Low Tech Magazine](https://solar.lowtechmagazine.com), a solar-powered website showcasing the amazing low-tech things you can do with a little ingenuity,
- [Stephen Wolfram's Blog](https://writings.stephenwolfram.com) on math, compsci, and everything else,
- [Cool Macrophotography](https://www.barrywebbimages.co.uk/Images/Macro/Slime-Moulds-Myxomycetes) for amazing pictures of tiny things (WARNING: Time Sink!),
## COMPUTER SCIENCE
- [While-True-Do](https://blog.while-true-do.io) has lots of stuff on Linux administration and self-hosting,
- [Backend Banter](https://www.backendbanter.fm) for a great podcast on backend development,
- [Two Wrongs](https://two-wrongs.com) for statistics and functional programming,
- [Math ∩ Programming](https://www.jeremykun.com/) where math and programming intersect! Written by a Googler...
- [Paul Bourke's site](https://paulbourke.net/) where you can get happily lost exploring old pages on every topic CS touches,
- [Jason Punyon's blog](https://jasonpunyon.com) for some fun algorithms and things,
- [Yossi Kreinin's blog](https://yosefk.com/blog) for C, Python, and plenty of non-technical topics,
- [Adrian Sampson's academic blog](https://www.cs.cornell.edu/~asampson/blog) for an academic's perspective,
- [Cool polyhedra viewer project](https://georgehart.com/virtual-polyhedra/vp.html) if you like geometry,
- [Another academic blog on…
My experience is more with applied math (for physics and engineering), which is kind of another world from what mathematicians do. I'm not sure which you would prefer, but if it's the former I recommend checking out the table of contents from Mathematical Methods for Physics and Engineering by Riley, Hobson and Bence(can be viewed on amazon). It has a nice listing of all the topics, mostly in the order you'd want to study them (with a few exceptions). Doubt I'd recommend it as a first book in those subjects for an 11th grader, but it should give you an idea of what's out there.
http://www.amazon.com/Mathematical-Methods-Physics-Engineering-Comprehensive/dp/0521679710 (click to look inside -> table of contents)
The "other world" that I'm much less well read in more involves proofs and foundations, and would probably start with Euclidean Geometry and Set Theory, then topics like Abstract Algebra, Topology, Advanced Calculus, Real and Complex Analysis, Category Theory, and so on.
I'd also recommend j2kun's blog, which I've found great for a first intro to many topics, though it has a bit of a programming focus: http://jeremykun.com/ As mentioned above, Khan Academy, Coursera, Udacity, EdX and the others are good too, especially since they're free, so you don't have a lot to lose if you get in over your head.
Not sure if this will help, but it can't hurt.
I started my 1st year in college doing both math and computer science majors. I really love math but I just hate how (especially calculus and linear algebra courses) they just don't work on growing any intuition at all. in contrast, in my CS major we had a linear algebra class (ugh overlapping classes, huh) as well and we used computer graphics as a case study to learn about the basic concepts which was really fun and enlightening.
Eventually I just ragequit math because I didn't have the patience and time to search for the intuition myself, which is a pitty. I'm really happy I followed the classes about mathematical proofs, groups etc because I really enjoyed those but others were just painful.
Anyhow recently I discovered this blog too up my math concerning computer science is this: http://jeremykun.com/. It's a tad more advanced than this but I'd really recommend it. His blog is freaking amazing and always a joy to read. Math as a sidehobby it is! :)
(Disclaimer: I am not a cryptographer and this is a heavily simplified explanation). Homomorphic encryption is built on the foundation of 'hard problems' (e.g. the Learning with Errors Problem) - loosely, computational problems that are thought to be impossible to reverse without being in the possession of a secret key.
The crux of HE is that it provides a _homomorphism_: you map from the space of plaintext to the space of cipher texts, but the mapping preserves arithmetic properties such as addition and multiplication. To be clear - this means that the server can add and multiply the cipher texts, but the plaintext result of that operation is still irreversible without the private key. To the server, it looks like random noise.
I don't think it's helpful to think about this as connected to deep learning or embedding spaces. An excellent resource I'd recommend is Jeremy Kun's guide: https://www.jeremykun.com/2024/05/04/fhe-overview/