Hacker News new | ask | show | jobs
by j2kun 3495 days ago
Shameless promotion: I'm writing a book in which I introduce mathematics for programmers specifically. If you found yourself here you may be interested. https://jeremykun.com/2016/04/25/book-mailing-list
6 comments

I'd be willing to spend a good 40 bucks on something like this (that may not seem like a lot but 40$ to a college student is a lot). Something that has a twinkle of a promise in teaching a programmer math is something I need in my life.

I just don't "get" what is being told to me when it's in the context of math-notation. As a result I do horrible in math classes in college. The only thing that was taught with a CS-Style notation was approximating using Newton's method. After I saw that it made sense, it was just a recursive method that zeroed in on that location.

Very little aside from that in my calc 1 class made sense. Probably limits, but that's it really. It didn't click as well.

I'd like to get to the point where I understand math concepts as well as I do most of the CS but I just think that's impossible at this point. It seems to be very "this is our garden, you stay in yours".

In anticipating a book like this, would you ideally want to learn the math context and notation (provided one goal of the book is to teach that), or skip that entirely in favor of the underlying ideas (as in your example with Newton's Method).

Also, would you be interested in being paid to read a chapter or two and provide feedback?

Not the GP, but I'd want to learn both the ideas and the notation. That way, more math would become accessible to me.

Just don't let the notation get in the way of reaching clarity on the ideas.

Yes exactly. It seems that no matter what you know math majors don't care. You need to walk the walk and talk the talk.

If you read through my comment history you will find me arguing with many mathematicians who think that math is just inherently harder and I must not understand it because I'm not smart enough. I think that the concepts and basic building blocks seem simple when explained outside the context of the current notation used.

You can see a perfectly prime example of this here: https://news.ycombinator.com/item?id=12991581

Read through my comments to see how I feel.

I'd also like to be clear. I'm not saying math is easy, I'm just saying that it can't be impossible for my peasant brain to not be smart enough to understand the concepts of what's going on. I mean it's not Greek.... well... it currently is but it doesn't need to be!

The concepts are not individually hard, but they build on each-other (sometimes unnecessarily, but sometimes very helpfully). If you care about understanding the tools you should take the few years of study it takes to learn the notation to a level of fluency, or you won’t be able to read the vast literature written in that notation.

It’s like if you’re interested in 19th century piano music, but all your experience with reading music is in the form of guitar tablature, then you’re going to have a tough time with your study. You could conceivably find top-down videos of someone playing some of the music you care about, or convince someone to translate some parts of it into guitar tablature. But it would be a better use of your time to just learn to read standard music notation.

I'd read a few articles from your blog some time ago and I must say I really liked it! Especially those about automata and Turing Machines. I'll definitely consider buying your book!
You mention this is a "step up" from the Better Explained book, which was supposed to be an intro and went right over my head, still making lots of assumptions about what I should already know.

I'm a decent programmer, maybe above average, and I know I could understand this stuff if I found the right resources and put in the time, but I'm not sure what value it can provide me at this point.

When I look at Better Explained most of what I see is "a friendly guide to the logarithm" and "intuition for the law of cosines" (though Kalid does have some more advanced topics). I haven't seen his book so I can't comment on it.

My blog, on the other hand, tends to be more like "Here's an algorithm/theorem you can only find in research papers or graduate textbooks, proved, explained, and implemented." If you don't know proofs, most of my blog posts are too much too fast.

My book is trying to be in between the two. You have seen logarithms before and you know (or can look up) what similar triangles are. However, reading a typical math book is immediately too fast, the notation is too foreign, and the proofs seem to leave out a lot. My goal is to bring the reader in the fold w.r.t. notation and mindset and expectations (using programming analogies and leaning on the concepts you already understand well), showcase impressive applications in Python at the end of every chapter, and survey different areas of math relevant for software applications like machine learning and crypto.

I would be interested to know more about what specific topics you find difficult, maybe using Kalid's book as a reference?

I should also mention that I don't expect every programmer to find career value out of the book. I like math, I hear from a lot of programmers who want to like math more (for fun or side projects or work), and I feel like I'm in a good position to help them.
I just wanted to say that I have really enjoyed Math ∩ Programming over the past year. Lot of interesting reading material for my commute. Keep up the good work! (Signed up for the mailing list. Good luck!)
There are two books I know of that address an audience of programmers interested in mathematics: Klein's Coding the Matrix and Stepanov's From Mathematics to Generic Programming.

Have you looked at these two? It might help your writing process to find what readers of those books found confusing or frustrating in the presentation.

Thanks! I'll be looking into these. From a first glance, Coding the Matrix looks to be excellent and exhaustively complete, but also very verbose. From Mathematics to Generic Programming appears to be the kind of book I want to avoid. It seems to be more about a study of a few particular algorithms useful for generic programming than actually understanding the principles of mathematics.
Is there a preliminary Table of Contents available?