Ask HN: How or where to begin learning mathematics from first principles? - <AUTHOR> A little bit of background:
As I've become more skilled with programming and electronics I have felt myself begin to near a wall. My knowledge of and skills in math is relatively poor and all the interesting things that make up the more advanced programming and electronics pursuits seem to be heavily based on math.
When I butt heads with these more advanced topics I find I resort to scouring the internet to cobble together pieces of various tutorials and guides. While it does feel good in a way to hack together limited understandings to make satisfactory solutions I'm beginning to feel less like a hacker and more like a hack. The knowledge I gain is shallow and I don't think my tactics will get me much further.
Instead of working backwards from implementation I would like to start from the beginning and learn math the proper way. Unfortunately most of the resources I find online seem to more focused on teaching me how to solve math problems. I have no interest in solving specific math problems on a test, I'm not going to school and I doubt I will ever take a math test again in my life. I want to work up from first principles and gain the tools to reason about the world mathematically and understand the cool things that are currently out of my reach like antenna design, machine learning, electromagnetism, cryptography etc.
Unfortunately I so know so little I have no idea how where to start. What websites are helpful, what books I should buy, etc. I was hoping someone here could share. Thank you. <comment><USER4> I got started on "real" math with Spivak's Calculus. Some people start with Topology by Munkres, which is not a difficult book but is very abstract and rigorous so makes a good introduction. If you feel like you have ok calculus chops, maybe Real Mathematical Analysis by Charles Pugh. Other good books are Linear Algebra Done Right by Axler, or the linear algebra book by Friedberg, Insel, and Spence. Maybe even learn linear algebra first. It's so useful.

Do plenty of exercises in every chapter, and read carefully. Count on about an hour per page (no joke). Plenty of math courses have their problem sets published, so you can google a course which uses your chosen book and just do the exercises they were assigned.

If you don't feel comfortable with basic algebra and other high school math, there's Khan Academy, and some books sold to homeschoolers called Saxon Math.

If you haven't had a course in calculus before, maybe you should skim a more intuitive book before or alongside reading Spivak. I don't know of any firsthand, but I heard Calculus for the Practical Man is good. Scans are freely available online (actually, of all these books) and Feynman famously learned calculus from it when he was 12.

<comment><USER5> OP wants it from first principles as their maths is "poor" . I don't think Spivak is a good choice to jump right into calculus.

If OP wanted a more softer approach, Spivak's Hitchhiker's Guide to Calculus is probably a better option first before going full Spivak.

<comment><USER4> I honestly couldn't tell what he meant, whether he had stumbled through calc 3 and gotten sick of memorizing arbitrary rules, or if he can't solve a quadratic.

I tried to include some good high-school level math resources.

</comment></comment></comment><comment><USER6> I had the same problem with math. There are two books which changed my mindset forever:

[http://en.wikipedia.org/wiki/What_Is_Mathematics%3F](http://en.wikipedia.org/wiki/What_Is_Mathematics%3F)

[http://en.wikipedia.org/wiki/Concrete_Mathematics](http://en.wikipedia.org/wiki/Concrete_Mathematics)

The first one is the general book about math. It's a classical book.

The second one is Donald Knuth's book written specifically for computer science guys.

<comment><USER7> Does Concrete Mathematics have any practical applications? and by practical, I mean, can you use the knowledge there to learn more math?

I have the impression that it is mostly a book that teaches you techniques of how to solve recurrences. Am I wrong?

<comment><USER8> Concrete Mathematics is essentially the mathematics needed to study analysis of algorithms. From the preface:

      One of the present authors had embarked on a series of books called
      The Art of Computer Programming, and in writing the first volume he
      (DEK) had found that there were mathematical tools missing from his
      repertoire; the mathematics he needed for a thorough, well-grounded
      understanding of computer programs was quite different from what he'd
      learned as a mathematics major in college. So he introduced a new
      course, teaching what he wished somebody had taught him.

So yes, there are practical applications. And recurrences are a recurring theme, but there's more to it than just that.

</comment></comment></comment><comment><USER9> I found myself in a similar situation about a year ago and while I've made a lot of progress I still have a long way to go. Here's what I've found useful:

Precalculus, Coursera, [https://www.coursera.org/course/precalculus](https://www.coursera.org/course/precalculus)

"Precalculus Mathematics In A Nutshell", George F. Simmons, [http://www.amazon.com/Precalculus-Mathematics-Nutshell- Geome...](http://www.amazon.com/Precalculus-Mathematics-Nutshell-Geometry- Trigonometry/dp/1592441300/)

"The Hitchhiker's Guide to Calculus", Michael Spivak, [http://www.amazon.com/Hitchhikers-Guide-Calculus-Michael- Spi...](http://www.amazon.com/Hitchhikers-Guide-Calculus-Michael- Spivak/dp/0883858126/)

[http://www.khanacademy.com](http://www.khanacademy.com)

[http://www.reddit.com/r/learnmath/](http://www.reddit.com/r/learnmath/)

[http://www.math.stackexchange.com](http://www.math.stackexchange.com)

</comment><comment><USER10> I absolutely, positively second the recommendation of "Real Mathematical Analysis" by Charles Pugh (don't miss the advice he relates from his colleague, on pages 9&10, with the heading "Metaphor and Analogy", which could easily form the basis for a dissertation on the psychology of mathematical intuition and inspiration). Pugh does an exquisite, uncommonly good job of avoiding a pitfall that >99.9% of mathematics authors fall into, making it more or less impossible for one to genuinely understand mathematics outside of a university. What pedagogy is it that Pugh (and Spivak) care enough to get right, where nearly all others fail? It is this: Pugh has carefully crafted his book into what I'd call a 'mind expansion tool': almost everything there is crafted to be read, internalized, and meditated on. By contrast, almost all other mathematics books read like a laundry list of theorems and proofs, with some discussion inserted as an afterthought.

Let me tell you a dirty secret about mathematics textbooks: almost all of them are highly flawed and incomplete dialogs between the author and the supposed reader. The reason for this: the first and foremost purpose of almost all mathematics textbooks is to organize the AUTHOR'S conception of the subject (not the student's!), for the primary purpose of TEACHING a course on the subject. In other words, the book's primary purpose is NOT to be read directly. A given mathematics textbook represents a model of the way in which the author (casually) BELIEVES students of your level might try to reason about the subject, whereas in reality, the author has so long ago advanced beyond your level that s/he cannot even remember how difficult it was when s/he first learned the subject.

If you attempt to read most mathematics texts directly, outside the context of a university course (and without having already gained a true understanding of mathematics), you will almost certainly reach a stage in your reading in which you have internalized a certain amount of verbiage (say, some theorems, maybe a proof or two, and some light discussion, with the pretense that the abstractions introduced are 'useful' for some unknown reason). Certainly, you are asked to do some problems at the end of the section, and this is in fact a somewhat reliable way to reach some kind of personal discovery, and hopefully at least some mild enlightenment about just what the section was really about. (A good textbook will have highly instructive problems; however, the difficulty is, it is virtually impossible to know just how worthy of your time they will be before you spend hours working on them.)

However, even at university, I almost NEVER resorted to reading the textbook: careful attention paid to the lecture, copious notes, regular attendance of office hours, and most of all, intense thought about the problems SPECIFICALLY given (and hopefully invented) by the lecturer were all that I was ever inclined to pursue (and all that I ever needed to succeed). If I read the textbook at all, it was only ever sought as a reference, or to fill in the gaps of a lecture which I failed to understand completely. Which is precisely the reason most math texts read so poorly: they are supplementary material for university courses.

Despite vouching for it, I do not recommend you only read Pugh--at least not right away, and not from cover-to-cover. If you must start from scratch, please start with Spivak's "Calculus", which is similarly excellent in directly addressing the pedagogical needs of an autodidactical learner. Please note that by far the most thing to learn when studying mathematics is something that is impossible to encapsulate in any specific result; I am talking about "mathematical maturity". If you only do a one or two problems in all of Spivak, but spend several hours thinking deeply about a specific aspect of a problem or passage that leads you to have new, creative thoughts, you will have learned more than you could have by merely working through it in a mindless fashion.

If you do intend to make it through a significant chunk of Spivak, be prepared to spend an enormous amount of time at it. There are many, many difficult problems in it. In addition, you should be spending time and effort not only writing down the steps of your proofs, but trying to come to grips with the very definitions you are working with. In mathematics, definitions and assumptions are most important--and they are certainly more important than clever tricks. This is why graduate students in mathematics have to learn their subjects over again--most undergraduate subjects do not do a precise or complete enough job of completely stating all definitions needed to make the theory entirely clear.

The greatest mathematician of the 20th century, Alexander Grothendieck (who recently passed away), was as productive as he was because of his uncanny skill in inventing definitions of mathematical objects which put the problem in a broader context. Raw mathematical power is available to mathematicians to the extent that they allow the context of ANY given problem which they attempt to expand in their mind, until it connects with the relevant intuition. Once this inspiration strikes, the answer becomes easy. To Grothendieck, solving a problem was more a test of his ability to create a useful theory, than an end to itself. This speaks volumes to the value of thinking abstractly and creatively, rather than just trying out hoards of problems and expecting things to magically line up in your brain, hoping for an answer to pop out. There are generally two kinds of problems in mathematics: those which simply require organizing the essential definitions and required theorems until the answer is obvious, and those which need a fundamentally new idea. In neither case will you be able to 'plug and chug'. A great deal of harm is done to students of mathematics in grade school, because the subjects are invariably taught by non-mathematicians, in a highly non-mathematical way--in fact, in a way that is antithetical to the very core of the subject. Please google and read Paul Lockhart's essay titled "A Mathematician's Lament" to see if you really understand just what mathematics is (or if deleterious notions from your schooldays are continuing to blind you from the simple beauty of pure mathematics). I will add as well the recommendation that you read G.H. Hardy's essay, "A Mathematician's Apology".

Learning mathematics is so incredibly difficult for the novice because it is almost impossible to teach this process. One must fail over and over again. I cannot lie: mathematics will be probably be difficult and unnatural for everybody except those who allow themselves enough time to commit to thinking freely and creatively about it, until a point of 'accelerating returns' is reached. Attempting to proceed directly to applied problems will invariably fail. The counter-intuitive truth about applied mathematics is that studying pure mathematics is in fact far more practical than attempting to think about the problem directly. This is because an understanding of pure mathematics gives you the ability to CREATE. Alfred Whitehead said: "'Necessity is the mother of invention' is a silly proverb. 'Necessity is the mother of futile dodges' is much nearer the truth."

I'll also leave you with a relevant quote from the great expository writer and mathematician Paul Halmos: "What does it take to be [a mathematician]? I think I know the answer: you have to be born right, you must continually strive to become perfect, you must love mathematics more than anything else, you must work at it hard and without stop, and you must never give up."

And another, in which he tells you how you should read a mathematics text: "Don't just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?"

I have heard professional mathematicians express themselves the difficulty that even they have in maintaining the attention span required to read a traditionally written, unmotivated mathematics textbook. One such mathematician said that he skipped directly to the theorems, and attempted to discover a proof for himself. This is another secret to mathematics: it is always better to invent proofs yourself than to read the ones given in the text. This may be counter-productive in the early stages of your learning, but it is something you should continuously challenge yourself to attempt. If the first steps of a proof do not come to mind automatically, cover up the proof given in the text, except for the first few words. Then try to prove it again from scratch, with the knowledge that the objects being used in just that initial part might be part of one possible proof. Repeat as necessary, until you have either discovered a proof for yourself, or you have uncovered the entire proof given in the text. In either case, you will have thought long and hard enough to never forget the definitions and ideas needed to write the proof you end up with, even if you forget the proof itself. Later, you will only remember the essential idea. Then, it is an excellent exercise to attempt to work out the details again.

<comment><USER11> Thanks so much for your insightful post.

I was working through the first couple of chapters in Spivak's Calculus recently, and was struck by 1) what a great book it was, and 2) what a time commitment it would take to complete it properly! If I could choose a book to take to a tropical island for a year, Spivak might be it. But is it worth spending hundreds of hours working through Spivak and Pugh from the standpoint of developing a professional skill? For someone like OP already out of college and wanting to learn to think mathematically to apply it to programming/electronics, is working through these books as a basis to pursue further mathematical studies overkill? Or worth it?

<comment><USER12> For somebody that wants a career on electronics? "Sure" is not enough to express it... Your question is almost equivalent to "Is it worth it to spend time studying electronics"? The only thing I don't knwo is if the book goes deep enough, or if he'll need another couple of them.

Now, if he wanted only to get good at the software realm, I'd recommend a more superficial understanding of calculus, saving time to study discrete math and CS (that are mostly the same thing in different languages).

Anyway, I'd also recommend algebra to both specialities, to be learned at the same time as calculus and discrete math. It'll make the learning easier.

</comment></comment></comment><comment><USER13> Wanting to learn mathematics from "first principles" brought a lot of comments from graduate-level mathematicians. While their advice applies very much for mathematics students, I can't recommend going down that road for engineering types.

In mathematics, everything is connected. One can build up a specific topic from first principles only. But with a too narrow focus one looses these lovely connections between different fields that allow to change the perspective on how we think about problems.

I was in a similar situation some 2 years ago. Try "Vector Calculus, Linear Algebra, and Differential Forms" by Hubbard and Hubbard. You will not be disappointed. Yes, you get (enough) rigor and a lot of first principles mathematics. Nonetheless, the authors have found a lovely way to integrate a wealth of important results from many fields into a coherent text that has one goals: letting you understand the connections and letting you solve the problems.

<comment><USER14> Is Hubbard & Hubbard an engineering-type text? I was under the impression that it's very rigorous. It was even used as a textbook at Harvard Math 55.

<comment><USER13> As a mathematics textbook it of course provides rigorous proofs. But it doesn't neglect to develop intuitive insight (that can be less rigorous yet still very effective).

Here's a quote given in chapter two. That's some motivation to develop more mathematical maturity as an engineer!

      In 1985, John Hubbard was asked to testify before the
      Committee on Science and Technology of the U.S. House of
      Representatives. He was preceded by a chemist from DuPont,
      who spoke of modeling molecules, and by an official from the
      geophysics institute of California, who spoke of exploring
      for oil and attempting to predict tsunamis. When it was his
      turn, he explained that when chemists model molecules, they
      are solving Schrödinger's equation, that exploring for oil
      requires solving the Gelfand-Levitan equation, and that
      predicting tsunamis means solving the Navier-Stokes equation.
      Astounded, the chairman of the committee interrupted him and
      turned to the previous speakers. "Is that true, what
      Professor Hubbard says?" he demanded. "Is it true that what
      you do is _solve equations_?"

</comment></comment></comment><comment><USER15> Very similar question: [http://www.reddit.com/r/compsci/comments/2notz5/how_do_you_p...](http://www.reddit.com/r/compsci/comments/2notz5/how_do_you_personally_learn_more_about/)

(with a good answers regarding Khan Academy, Polya "How to Prove", lamar.edu, math.stackexchange.com, universityofreddit.com, lots of online curriculums from different universities, curricula aimed at data science (Prob/stats, linear algebra, calculus). These're good listings of resources for precalc and for data science:

[http://www.reddit.com/r/math/comments/2mkmk0/a_compilation_o...](http://www.reddit.com/r/math/comments/2mkmk0/a_compilation_of_useful_free_online_math_resources/)

[http://www.reddit.com/r/MachineLearning/comments/1jeawf/mach...](http://www.reddit.com/r/MachineLearning/comments/1jeawf/machine_learning_books/)

[http://www.zipfianacademy.com/blog/post/46864003608/a-practi...](http://www.zipfianacademy.com/blog/post/46864003608/a-practical- intro-to-data-science)

______________

The threshold question are,

\- can you locate like minded folks to bootstrap a study group, or tutor(s) who are willing to devote time?

\- (if you're in US/Canada) how about community colleges by you, in a lot of places they're still well funded and will efficiently pull you up to first year college calculus and linear algebra, and maybe further

\- What level of high school / college math did you last attain, because reviewing to that level shouldn't be too stressful. At least, in my very biased view of math education.

</comment><comment> barry-cotter Betterexplained.com has many very good intuitive explanations of mathematical concepts. Elements by the publishers of Dragonbox will give you reasonable intuition for geometry. If you just want to use calculus Silvanus P. Thom(p?)son's _Calculus Made Easy_ is excellent. Linear Algebra Done Right and LAD Wrong are both good books. LADW is free, legally.

The Art of Problem Solving series of books are uniformly excellent.

</comment><comment><USER16> Try [http://www.khanacademy.org](http://www.khanacademy.org) (free), their math series starts from basic arithmetic and walks all the way through to undergrad-level mathematics.

I personally preferred khanacademy to my math teaching at school and it's been handy during my degree.

For more advanced stuff i've found Stanford's online courses ([https://www.youtube.com/user/StanfordUniversity/playlists](https://www.youtube.com/user/StanfordUniversity/playlists)) and MIT OpenCourseWare ([http://ocw.mit.edu/index.htm](http://ocw.mit.edu/index.htm)) to have the best material for Physics

<comment><USER17> I second this and would strongly advise this approach.

The courses available on Khan Academy help you visualize the math and gain a better understanding on the 'why' (reasoning) while also teaching you the 'how' (application).

There's sufficient math courses available to teach you everything from pre/primary school arithmetic to first year university/college level calculus/linear algebra.

<comment><USER18> I hope that their math section is better than some of their engineering courses. See the critique at,

[http://www.leancrew.com/all-this/2012/12/khan/](http://www.leancrew.com/all- this/2012/12/khan/)

I've also been involved in teaching similar material as Dr. Drang and agree completely with his critique.

I've come across students who've had similar sloppy teaching and had to re- teach material so they could unlearn what they'd learnt and get a proper foundation for moving forward. Consistently, they would have very poor assignments for the first few weeks until they had that foundation.

</comment></comment></comment><comment><USER19> I found "Mathematics for the Millions" ([http://www.amazon.com/Mathematics- Million-Master-Magic-Numbe...](http://www.amazon.com/Mathematics-Million- Master-Magic- Numbers/dp/039331071X/ref=sr_1_1?ie=UTF8&qid=1417675239&sr=8-1&keywords=Mathematics+for+the+millions)) to be a very interesting read. It goes through the history of math, how it was discovered and used, from ancient Egypt (geometry) to the 1600s (Calculus) and shows the progression of thought.

<comment><USER20> Seconded. "Mathematics for the Million" is an incremental, bottom-up approach to learning Mathematics. It should be an interesting read for those fond of history.

</comment></comment><comment><USER21> I suspect there is some confusion here by the use of 'first principles' in the title. As a former mathematician when I see 'first principles' I think of axiomatic approaches to mathematics and the study of subjects like analysis, algebra and geometry from those first principles. I suspect however that what you want is good ground in the foundations of mathematics necessary to understand common applications of mathematics, which is quite different.

It is also a difficult question to answer without some context of your current mathematical understanding. Do you know any calculus? Any linear algebra? If you don't, those would be good places to start as they underpin many areas with applications of mathematics. Bear in mind too that Mathematics is a huge subject in that even if you take to it naturally, you're not going to acquire a breadth and level of understanding without a fair amount of study. Looking back I probably put a lot of hours in my youth into really understanding linear algebra fully for example to the level that I could teach it at a high- ranking university, and that was with the help of people whom I could pester with my questions and the incentive of exams to take.

The other approach is to look at the areas you want to understand and then work out what topics you need to study to fully understand them. Cryptography is worlds away from electromagnetism for example. Looking at cryptography, are you interested in public key cryptography or symmetric key cryptography? If the former, then you need to start learning number theory and if the latter, knowing some statistics is probably more relevant.

</comment><comment><USER22> I recommend you start with a review of all the topics from high school math which are not clear to you, e.g. functions, solving equations, geometry, and algebra. This may take some time, but it's totally worth it. Building your math knowledge is like building a house---you want to start from a solid foundation.

Next, the traditional "pillars" of STEM are calculus and mechanics. Calculus will beef-up your skills for understanding and manipulating function. Mechanics is important because it teaches you about modelling real-world phenomena with mathematical equations.

Perhaps of even greater importance are the subjects of probability and linear algebra. Probabilistic reasoning and linear algebra techniques (e.g. eigendecomposition) are used for many applications.

RE problems, I think you should reconsider your stance about that. It is very easy to fall into the "I learned lots of cool stuff today" trap, where you think you're making progress, but actually you haven't integrating the knowledge fully. Solving problems usually will put you outside of your comfort zone and force you to rethink concepts and to form new "paths" between them. That's what you want---ideally the math concepts in your mind to be a fully connected graph. Speaking of graphs, here's a concept map from my book that shows (a subset of) the links between concepts from high school math, physics, calculus, and linear algebra: [http://minireference.com/static/tutorials/conceptmap.pdf](http://minireference.com/static/tutorials/conceptmap.pdf)

Good luck with your studies!

<comment><USER23> All good points. By the way, if you go from first principles, do measure and integration theory before probability theory.

</comment></comment><comment><USER24> Here is what I've read so far (I've been starting from first principles). Basically, I've been reading through the series "Humungous Book of x Problems", having read (and about to read) the following:

1\. Humungous Book of Basic Math and Pre-Algebra Problems

2\. Humungous Book of Algebra Problems (still actually going through this)

3\. Humungous Book of Trigonometry Problems (up to vectors)

4\. Will be reading Humungous book of Calculus Problems soon and then the Humungous Book of Geometry Problems.

I know this sounds slanted, but I'm a big fan of these books. However, I also had to do what you did with Trigonometry - one of the extremely irritating things is that nobody teaches you _why_ the names are sine, cosine, tangent, cotangent, secant and cosecant. For me, I had to go to do some elementary research and draw the lines on a circle to understand that sine was "gap" or "bow" (corruption of the original Arabic), tangent was based on tangens (to touch) and secant was based on secans (to cut). Once I worked that out, actually everything started to get rather a lot easier. Sure wish I'd had easy Internet access in high-school and a more adventurous intellect!

</comment><comment><USER25> I've worked with several adult learners on this but almost no adult is able to learn math just for fun - unless they have a project or crucial examination to work towards. But, you do have a project. You should use that.

I think you're mistaken that your existing tactics won't get you further. This is how most people learn, by trying things out and building on them until they understand what works and what doesn't - standing on the shoulders of giants.

For practical purposes, your satisfactory solutions are a great piece of learning and the start of your understanding. You're maybe experiencing some discomfort about it, but that's normal. Keep going!

P.S. You said "from first principles", which has a specific meaning in math. It's a kind of philosophical ideal in math that you start from nothing (forget about high school math) and carefully and precisely build the subject of mathematics on top. Some of the answers here picked up on that phrase, but it probably isn't relevant to the other interests you mentioned - to do programming or electronics, you will want to build on the knowledge that you have learned already.

</comment><comment><USER26> I suspect the real answer to your question is "in your own head, and with your own pen and paper." Amazingly, you cannot learn mathematics from reading books. Especially the abstract stuff. It is just too opaque. Not until you start to manipulate the symbols yourself, in your own way, does it start to make sense. Having said that, I would still like to recommend a book to read :-) This is big-boy maths (i am not shitting you), explained with cartoons and a bazillion examples from things like sensor networks, robotics, pattern recognition, electromagnetism, it goes on and on. Just published, but also available for free. I bought several copies. It blows my mind that a mathematician took the time to explain these advanced topics to the mere mortals:

"Elemantary Applied Topology", Robert Ghrist. [http://www.math.upenn.edu/~ghrist/notes.html](http://www.math.upenn.edu/~ghrist/notes.html)

Although you probably need to have some idea of multi-variate calculus (and linear algebra) before you get started.

</comment><comment><USER27> I'm in a not too different situation from yourself as a self taught developer. I spent about 6 months and taught myself most of the mathematics concepts I forgot or never tried hard enough to learn from the Khan Academy. Their mathematics tutorials are excellent.

[http://khanacademy.org](http://khanacademy.org)

</comment><comment><USER28> You seem quite resourceful so you might enjoy MetaMath[1]. This is, in my opinion, _literally_ learning mathematics from first principles. Well, it's not really _learning_ mathematics (insofar that lot of the concepts won't be particularly novel), but it's really showing you the "first principles" of mathematics, and how you can build that up into other stuff.

If you feel like MetaMath is your kinda thing, do visit the FAQ; it's quite good (and virtually required reading if you're going to do this alone).

Admittedly, it's not going to give you the tools suited for solving problems of antenna designs, or enlighten you about electromagnetism, but if you're into just pure recreational mathematics, it's worth a look.

[1] [http://us.metamath.org/index.html](http://us.metamath.org/index.html)

<comment><USER29> No, I don't think MetaMath is the kind of thing the OP wants. Sure, it builds mathematics from "first principles", but not in the same meaning as the OP means. When you read his question, "first principles" really mean "as a beginner".

Although I like how MetaMath brags about how easy it is to verify proof by yourself if you're not a mathematician, in the end I don't think it's useful for any people but math-oriented in the first place. It's not going to explain the meaning behind the math (it actually intends to take rid of the meaning) and certainly not solve daily problems like antenna design or machine learning. I rather see it like a collection of theorems declared true by a computer following dumbly (I mean that in a positive sense) a substitution rule and base axioms. It's another kind of beauty.

</comment></comment><comment><USER5> First principles? You're not going to beat:

      http://en.wikipedia.org/wiki/Naive_Set_Theory_(book)

It starts with defining what a set is, then builds up from there while being completely contained. No knowledge is assumed and could be enjoyed by someone with high school maths.

</comment><comment><USER30> I was in a very similar situation. The thing that helped me the most was getting an understanding of what it is mathematicians are trying to do and what their methods are. "What is Mathematics?" ended up being pretty pivotal (as another poster mentioned), though the topics did seem pretty random to me when going through it at first. The introductory material to "The Princeton Companion to Mathematics" is an excellent compass for orienting yourself. That introductory portion is about 120 pages, though it's a huge book (well over 1000 pages) and the rest of it probably won't be too useful to you for a while (but at the same time, those intro essays were invaluable). I'd second Axler's "Linear Algebra Done Right" as a nice early (yet pretty serious, despite the title) book. Linear algebra is used all over the place, and the way it's addressed in that book you'll learn something about creating mathematical systems rather than merely how to use some existing system. It also helped me understand what's interesting and why in mathematics to read in philosophy of mathematics and math history, and popularizations, etc. "Men of Mathematics" is quite good, as are "Gödel's Proof" and "Mathematics and the Imagination."

Once I was immersed in it for a while, I started getting into more CS related mathematics: things in computation theory, programming language theory, category theory--and I would spend a lot of time reading networks of wikipedia math articles from basically random starting points inspired by something I read. Didn't understand much to start with, but I'm glad I did it and I find them indispensable now.

I think it's of the utmost importance to go into it with an understanding that you SHOULD feel lost and confused for quite a while--but trust in your mind to sort it out with a little persistence, and things will start coming together. If you find yourself avoiding math, finding it unpleasant and something you 'just can't do,' check out Carol Dweck's 'Self-Theories.' Good luck!

</comment><comment><USER31> On where to start => I'd start by getting a very solid grasp of graph theory. It is the bedrock of many algorithms and along the way you'll learn all kinds of useful mathematical notation, but in a way that should be easier for you to pick up than plain old 'pure-math.' I've found the following series of videos presented by Donald Knuth, aka The Christmas Tree Lectures, to be incredibly informative and inspirational [1].

Another area of math that you need to know for C.S. related activities is linear algebra. To get started I'd recommend reading 'Coding the Matrix' by Phillip Klein.

[1] => [https://www.youtube.com/playlist?list=PLoROMvodv4rNMsVRnSJ44...](https://www.youtube.com/playlist?list=PLoROMvodv4rNMsVRnSJ44WuwbminUqXX2)

<comment><USER32> If he's looking for a more of an actual first principles approach to linear algebra, I could not recommend starting with Linear Algebra Done Right by Sheldon Axler enough.

It starts from a few basics which most people would be comfortable with post calculus, and builds up to the most important theorems in linear algebra. It's probably not the book for you if you are actually interested in linear algebra algorithms.

</comment></comment><comment><USER33> I wanted to give some recommendations before I hijacked your thread with my own question but I was going to suggest What is Mathematics, How to Prove it and Naive Set Theory which have already have been mentioned.

I'm actually in a related situation in which I'm competent in analysis (bachelors in physics) but I struggle with all the category theory inspired design patterns in functional programming.

Every book/article I've tried to read is either far too mathematical and so is disconnected from programming or is too close to programming and lacking in general foundations (ie: a monad is a burrito).

I would greatly appreciate any suggestions!

<comment><USER34> I came here to suggest the same thing. I started with real analysis but realized that I was lacking the mathematical maturity to understand things back to first principles. My suggestion is to start with learning how the foundations of mathematics were rebuilt starting from axiomatic principles in the last part of the 19th century and early 20th century.

The book How to Prove It helped me tremendously. Get a good book on abstract algebra. Maybe start with Herstein, then progress to Dummit and Foote and, maybe eventually, to Hungerford. This is the kind of math that will help you reason about data sets. It's foundational in mathematics and it also happens to be very applicable to computer science.

After that, you will have a strong basis for branching out to more specialized branches of mathematics that may have more relevance to the types of problems that you're solving.

<comment><USER10> That is excellent advice. If the student is struggling to write proofs in her or his real analysis text, s/eh should definitely seek out "How to Prove It".

</comment></comment></comment><comment><USER35> Here is a shameless plug for my own blog, [Math ∩ Programming]([http://jeremykun.com/](http://jeremykun.com/)). The difficulty ranges in how much mathematical background you need, but there are also some primers aimed at programmers, starting from this [essay]([http://jeremykun.com/2013/02/08/why-there-is-no- hitchhikers-...](http://jeremykun.com/2013/02/08/why-there-is-no-hitchhikers- guide-to-mathematics-for-programmers/)).

I'd really love feedback from you on what you found approachable and what you found unapproachable.

</comment><comment><USER36> I have found the below links excellent pathways to mastering mathematics. I actually was in the same place as you and started with Spivak Calculus. Now I am back at school studying mathematics :P

[http://www.amazon.com/gp/richpub/syltguides/fullview/20JWVDE...](http://www.amazon.com/gp/richpub/syltguides/fullview/20JWVDEKMUJQ2)

[http://www.amazon.com/gp/richpub/syltguides/fullview/R1GE1P2...](http://www.amazon.com/gp/richpub/syltguides/fullview/R1GE1P236K3YSV)

</comment><comment><USER37> Learn how to prove theorems. "How to Prove It" by Velleman is the best book for this (imho). (Amazon link [http://www.amazon.com/How-Prove-It-Structured- Approach/dp/05...](http://www.amazon.com/How-Prove-It-Structured- Approach/dp/0521675995))

More good advice at [http://scattered-thoughts.net/blog/2014/11/15/humans- should-...](http://scattered-thoughts.net/blog/2014/11/15/humans-should-learn- maths/)

</comment><comment><USER38> I would highly recommend reading:

      - A Course of Pure Mathematics (G. H. Hardy). I read this before I started my undergrad in CS/Maths. Free Online.
      - University Calculus (Hass, et. al.). This was reading for my first year, and continued to be useful throughout. Expensive.
      - A Book of Abstract Algebra (Charles C. Pinter). I read this after my degree, but boy, do I wish I'd had it _during_ my degree. Fairly cheap.
      - Linear Algebra Done Right (Sheldon Axler). Moderately priced.

I can't remember which of the texts I had on Number Theory were good at this point, but I do remember that it was quite hard to locate one which was tractable. There's a whole heap of fields which I chose to avoid (woo for joint degree!) but now I kinda regret it -- although I wouldn't have easily given up any of the comp. sci. modules I did...

I would always recommend working through Hardy first, regardless of what else you do.

I don't know of any good websites for this stuff. You may be able to find reading lists on public-facing university module/course web pages, which will help bolster this list.

It may be cheaper to buy access to your local uni's library than try to buy all of the above books. The uni I attended is around £70 a year for a non- student.

Your best bet is to get a notebook and the book that interests you most and work through that book, then the next, and so on. If you get stuck, as someone with a maths degree what the heck's going on :-p

<comment><USER39> >Linear Algebra Done Right (Sheldon Axler).

Thanks for this , i had been trying to read G. Strang's one and this one seems to be a more compact refresher on the course!

Could be b/c of my level of knowledge but to follow Strang's one to begin with , i had to watch those MIT lectures online in the begining.

</comment></comment><comment><USER40> Mathematics: Its Content, Methods and Meaning by Aleksandrov, Kolmogorov, and Lavrent'ev

[http://www.amazon.com/Mathematics-Content-Methods-Meaning- Do...](http://www.amazon.com/Mathematics-Content-Methods-Meaning- Dover/dp/0486409163)

Covers something like three years of an undergraduate degree in mathematics. Lots of words - but that text is used to develop an understanding of the concepts and images. Considered a masterpiece. An enjoyable read.

</comment><comment><USER41> 'The Nature and Origins of Modern Mathematics: an Elementary Introduction' could be a nice complement to the suggestions already here. It's very much first principles, but in a comprehensive and interesting way. You can download it here: [http://cupid.economics.uq.edu.au/mclennan/NatureOrigins/natu...](http://cupid.economics.uq.edu.au/mclennan/NatureOrigins/natureorigins.html)

</comment><comment><USER42> There is no royal road to math.

There are instead, roughly, between 4 and 50 branches of mathematics which each start and "end" in different places with different goals and philosophies and styles.

What makes this all "math" is that almost inexplicably these branches tread the same ground over and over. Which is to say: learning one branch can dramatically improve your ability to understand another branch. Learning several builds your "mathematical intuition" all together.

In order to learn more math you will most likely want to choose one of these branches and study it intensely. You will _not_ want to start from first principles to begin. Nobody does, it's too complex. Instead, you should seek to understand some set of "introductory core ideas" from that branch.

In order to study _any_ branch you will need to learn the language of mathematics: logic, theorems and proofs. Essentially, this is a language you can think in and speak. Without it, you will be incapable of carefully expressing the kind of sophisticated ideas math is founded upon.

Fortunately, programming _is_ an application in logic. If you can program a computer you're between 1/3rd and 2/3rds of the way to understanding mathematical logic well-enough to begin to understand mathematical argument. That said, you will not yet know enough. There are books which teach this language directly (Velleman's How to Prove It, perhaps) and there is an entire field of _study_ of this language. Usually, however, you just learn by doing. Certain branches are more amenable to this learning of the logical language than others.

One thing to note about the logical language that would be told to you by any teacher but is only mentioned in a few books is that it is not much like English in that you can just listen to or read something in the logical language and have it immediately form a cogent picture in your mind. Mathematical language is a language of action---you _MUST_ complete proofs, often on your own, in order to have grasped what was being said. This doesn't mean there isn't value in skimming a math book and reading the results without doing the proofs. Indeed, that's often a great first pass through a book! But think of doing that like reading the Cliff's Notes for a great work of literature. You might be able to talk about it a little bit, but you certainly haven't understood the material.

One final note with respect to learning any branch—where you start is critical. Often, even the simplest reviews of the material of one branch of mathematics will assume "basic, working knowledge" of many other branches. This is done in order to accelerate learning for those who possess that working knowledge—it takes advantage of the frequent crossover properties from one branch of mathematics to another. Finding resources which do this minimally will be important to begin... but you will probably not succeed entirely. Sometimes, you just have to read a math book and walk away from it without being too much the wiser, but recognizing that there was some technique from another field you could learn to unlock a deeper understanding.

\---

Some major fields of mathematics are:

1\. Algebra. This is like and unlike what you may call algebra today. It is the study of how things are built and decomposed. Indeed, it notes that many "things" can be described entirely in terms of how they are built and decomposed. It is often a good place to begin for programmers as it espouses a way of thinking about the world not dissimilar to the way we model domains in while programming. Some books include _Algebra: Chapter 0_ by Aluffi and _Algebra_ by MacLane.

2\. Combinatorics. This is the study of "counting", but counting far more complex than anything meant by that word in normal usage. It is often a first field of study for teaching people how to read and speak proofs and theorems and therefore is well recommended. It is also where the subfield of graph theory (mostly) lies which makes it more readily accessible to programmers with an algorithms background. I can recommend West's _Introduction to Graph Theory_ , but only with the caveat that it is incredibly dry and boring---you will get out of it what you put into practicing the proofs and nothing more.

3\. Topology. This is the study of what it means for one thing to be "near" another. Similarly, it is the study of what it means to be "smooth". It's a somewhat more abstract topic than the others, but in modern mathematics it holds a privileged role as its theorems tend to have surprising and powerful consequences elsewhere in mathematics. I don't know any good introductory material here---perhaps Munkres' _Topology_.

4\. Calculus and Analysis. This is the study of "smooth things". It is often the culminating point of American high school mathematics curricula because it has strong relationship with basic physics. Due to this interplay, it's a remarkably well-studied field with applications throughout applied mathematics, physics, and engineering. It is also the first "analyst's" field I've mentioned so far. Essentially, there are two broad styles of reasoning in mathematics, the "algebraicist's" and the "analyst's". Some people find that they love one much more than the other. The best intro book I know is Spivak's _Calculus_.

5\. Set Theory. This is, on its surface, the study of "sets" which are, often, the most basic mathematical structure from which all others arise. You should study it eventually at this level to improve your mathematical fluency---it's a bit like learning colloquial English as compared to just formal English. More deeply, it is a historical account of the philosophical effort to figure out what the absolute basis of mathematics is---a study of foundations. To understand Set theory at this level is far more challenging, but instrumental for understanding some pieces of Logic. This can therefore be a very useful branch of study for the computer scientist investigating mathematics. I don't know a good introductory book, unfortunately.

6\. Number Theory. This is, unlike the others above excepting "surface" Set theory, a branch which arises from studying the properties of a single, extremely interesting mathematical object: the integers. Probably the most obvious feature of this field is the idea that numbers can be decomposed into "atomic" pieces called prime numbers. That idea is studied generally in algebra, but the properties of prime numbers escape many of the general techniques. I don't know a good introductory book, unfortunately.

7\. Measure Theory and Probability Theory. Measure theory is the study of the "substance" of things. It generalizes notions like length, weight, and volume letting you build and compare them in any circumstance. Furthermore, if you bound your measure, e.g. declare that "all things in the universe, together, weigh exactly 1 unit", then you get probability theory---the basis of statistics and a form of logical reasoning in its own right. I don't know a good introductory book, unfortunately.

8\. Linear Algebra. A much more "applied" field than some of the others, but one that's surprisingly deep. It studies the idea of "simple" relationships between "spaces". These are tackled in general in (general) algebra, but linear algebra has vast application in the real world. It's also the most direct place to study matrices which are vastly important algebraic tools. I don't know a good introductory book, unfortunately.

9\. Logic. A much more philosophical field at one end and an intensely algebraic field at the other. Logic establishes notions of "reasoning" and "judgement" and attempts to state which are "valid" for use as a mathematical language. Type Theory is closely related and is vital for the development of modern programming languages, so that might be an interesting connection. I don't know a good introductory book, unfortunately.

\---

Hopefully, some of the ideas above are interesting on their surface. Truly understanding whether one is interesting or not is necessarily an exercise in getting your feet a little wet, though: you will have to dive in just a bit. You should also try to understand your goals of learning mathematics---do you seek beauty, power, or application? Different branches will be appealing based on your goals.

Anticipate studying mathematics forever. All of humankind together appears to be on the path of studying it forever---you personally will never see its end. What this means is that you must either decide to make it a hobby, a profession, or to consciously leave some (many) doors unopened. Mathematics is a universal roach motel for the curious.

But all that said, mathematics is the most beautiful human discovery. It probably always will be. It permeates our world such that the skills learned studying mathematics will eke out and provide value in any logical concern you undertake.

Good luck.

<comment><USER43> | I don't know a good introductory book, unfortunately.

I liked Eric Schechter's Classical and Non-Classical Logics for an eye-opening view into how logical systems are constructed from axioms. Might be a satisfying read for OP, as well.

[http://press.princeton.edu/titles/8119.html](http://press.princeton.edu/titles/8119.html)

</comment></comment><comment><USER44> This is a beautiful post! I'm loving what I am reading and the suggestions seem quite insightful :]

I am not sure if any of the following books were recommendation already:

\- Carl B. Boyer - A History of Mathematics \- William Dunham - <USER2> Through Genius \- Philip J. Davi & Reuben Hersh - The Mathematical Experience \- Martin Aigner & Günter M. Ziegler - Proofs from the Book \- Imre Lakatos - Proofs and Refutations \- Robert M. Young - Excursions in Calculus: An Interplay of the Continuous and the Discrete \- Courant & Robbins - What is Mathematics? \- George Pólya - How to Solve It \- Morris Kline - Kline's Mathematics: The Loss of Certainty

More or less a general deep understanding of Mathematics but will definitely give you a boost in a direction that you will favor.

<comment><USER10> William Dunham's "Journey Through Genius" is a fantastic book. It is one of the best pieces of expository writing on mathematics that I have ever read. Almost anybody can pick it up, it reads like a novel; it dives directly into some very germane case studies of classical analysis, and then interweaves them into a brilliant narrative. It begins very simply, starting with Newton, but very quickly progresses to more recent (and more fascinating) chapters.

Having this book on your shelf so that you can pick it up when curiosity strikes, or when you find yourself at a creative dead-end, would be an excellent way to complement the study of a traditional text on real analysis (Dunham's book has no exercises, or even definitions and theorems in the style of a traditional math book).

</comment></comment><comment><USER45> If you are looking for calculus one resources, Jim Fowler's Calculus One Coursera course is great, IMHO. I watched the videos at 2x speed (I found he speaks very slow, which can be great at times) and was able to complete it in a couple of weeks. The best part was that it didn't seem like he tried to "dumb it down". I would also recommend reading one of the many books others have suggested while taking the course - I've found that I learn much better when I hear topics explained in different ways and from different perspectives. Best of luck!

[https://www.coursera.org/learn/calculus1](https://www.coursera.org/learn/calculus1)

</comment><comment><USER46> here I also found this website [http://codingmath.com](http://codingmath.com) where they only teaches you math and how to apply it to program i found it very interesting. you should give it a try too.

</comment><comment><USER47> If you're interested in 3D programming, you want to learn linear algebra.

An excellent book that can teach you the basics (from trigonometry to advanced linear algebra) is "3D Math Primer for Graphics and Game Development".

</comment><comment><USER48> It presupposes a certain degree of mathematical maturity, but Robert Geroch's _Mathematical Physics_ (don't let the title fool you!) has the most intuitive explanations (with diagrams) I've ever seen of definitions, concepts, and proofs. It's roughly at the first-year grad level, but is almost completely self-contained, and uses category theory to motivate the entire organization of the book (whatever object is being treated in the current chapter generally has a forgetful functor to an object in the previous chapter).

</comment><comment><USER49> My favorite first-year calculus text by far is Michael Spivak's Calculus. When I was in school in the 1970s, he was by common consensus THE great and differentiated writer of math books -- but that was based on a small sample size, and Calculus is the only one that should be in this discussion.

There were a lot of other books back then that I think of as likely to have been the best in their time, but those were all more in the vein of texts for classes that I just happened to feel served me well.

</comment><comment><USER50> Other people have given very good suggestions. But just mention that there is not any first principles for mathematics, that is an active area for research for pure math.

There are a lot of layers of mathematics, the deeper you get, the more difficult it becomes. But for normal applications (like antenna design, machine learning, electromagnetism, cryptography etc), you don't need to get to the deepest level, which are mostly proofs for a formulation of the whole mathematics framework.

</comment><comment><USER51> "A Source Book in Mathematics" by David Eugene Smith. ISBN 0486646904.

Short description: The writings of Newton, Leibniz, Pascal, Riemann, Bernoulli, and others in a comprehensive selection of 125 treatises dating from the Renaissance to the late 19th century — most unavailable elsewhere. Grouped in five sections: Number; Algebra; Geometry; Probability; and Calculus, Functions, and Quaternions. Includes a biographical-historical introduction for each article.

</comment><comment><USER52> There is some distance from this to antenna design, electromagnetism, etc, but I think you have to be fluent in proofs to actually follow along on those. Math is a big subject; ymmv.

A Transition to Advanced Mathematics by Douglas Smith (Author), Maurice Eggen (Author), Richard St. Andre (Author)

ISBN-13: 978-0495562023 ISBN-10: 0495562025 Edition: 7th

It shows up on Abebooks which could help with the price. It's a _small_ book, exceedingly well-crafted and worth every nickel.

<comment><USER53> @ArkyBeagle Thank you for the book recommended!

@smtucker I'm also a math noob, and I'm a half way through Udacity's "College Algebra" (free) course:

[https://www.udacity.com/course/viewer#!/c-ma008](https://www.udacity.com/course/viewer#!/c-ma008)

There is also a good introductory class on Statistics:

[https://www.udacity.com/course/viewer#!/c-st101](https://www.udacity.com/course/viewer#!/c-st101)

After these classes, hopefully, reading "Transition to Advanced Mathematics" will not be a pain.

</comment></comment><comment><USER54> I went from being a below average math student in high school to a really good one and it started by reading this text book and doing the problems in the back: [http://www.amazon.com/Stewart-Redlin-Watsons-College- Algebra...](http://www.amazon.com/Stewart-Redlin-Watsons-College- Algebra/dp/B002T9QZ7W/ref=sr_1_13?ie=UTF8&qid=1417668505&sr=8-13&keywords=college+algebra%2C+stewart)

</comment><comment><USER55> Many people here advised Algebra Done Right by Sheldon Axler. There is 3rd edition of this book available now in electronic form, and paper books will be available in a week. They are just beautiful, colour: [http://www.springer.com/mathematics/algebra/book/978-3-319-1...](http://www.springer.com/mathematics/algebra/book/978-3-319-11079-0) .

</comment><comment><USER56> you will need time. lots of time. I dont think its worth it.

you need to start off with \- logic and set theory. an introduction to proofs (level 0). something on (proofs in) classical geometry. \- then linear algebra. (level 1) \- group theory (fe Joe Armstrongs book) and an introductory (real, single-variate) analysis course. also probability theory (I'd recommend Meester's book) (level 2) \- calculus, rings & galois theory, topology (fe Munkres) (level 3) \- complex analysis, (and other stuff I didnt even pass) (level 4)

I'd recommend buying one book at a time and working through the entire thing, all the problems. It can quickly become too difficult if you try paralellize. But it can actually be a good experience to do one thing well.

oh yeah. the payoff of this stuff isnt very good. take it from a guy coding php for 10 euro / hour. so another warning not to do this.

Calculus is usually taught early because physicists need to know it as well but it depends on other things so if you do this early you will not really understand.

</comment><comment><USER57> If you really want to go back to first principles, try "Foundations of Analysis" by Edmund Landau. It builds the integers, fractions, Dedekind cuts, and the real and complex numbers from scratch.

It's totally rigorous and starts from, "the ability to read English and to think logically -- no high-school mathematics, and certainly no advanced mathematics."

<comment><USER10> I would be very careful before unleashing a beginner on this book. It would be too easy, IMO, for the reader to end up with the wrong idea that mechanical proofs like the ones in this book are all that are needed in mathematics, since it's possible to get as far as the real numbers (or complex numbers) with so little geometric intuition. Furthermore, the real numbers are the most concrete, familiar setting to do analysis in, but it is not healthy to spend so much focus on the concrete details of the real line so early on: a student of mathematics needs variation to keep alive her or his curiosity. Pugh does an excellent job of explaining the simple geometric essence of Dedekind cuts. In principle, one might learn something about proof writing by reading the Landau book. However, it is much, much better, IMO, to defer detailed study of something so specific, until after first surveying the setting in which the results of Landau's book are used. In most real analysis books, the reader is asked to prove a few of the results covered in Landau.

Mathematics is foremost a conceptual subject rather than a mechanical one, and it is immaterial that the reader have firsthand experience that all the theorems are proven. As one learns mathematics, it soon becomes apparent that there will always be gaps in her or his knowledge, and that is therefore best to skip steps that s/he believes could be done in principle.

<comment><USER58> Are you on twitter, nicklaf? You sound like someone I'd want to be following.

<comment><USER10> Negative, but I do plan to set up a sort of homepage for my research sometime in the future. When I do, I'll link to it in my HN profile.

</comment></comment></comment></comment><comment><USER59> I am also interested in getting better at math, especially algorithmic type of math. I though about playing TopCoder arena, which focuses on algorithmic problems and often requires a lot of math. What do you guys think about this approach? Is it realistic to solve those problems with google as primary resource of knowledge and get better at algorithmic math?

</comment><comment><USER60> This is a bit of a divergence, but a fun way to practice what you learn is Project Euler, which will link it to your programming. [https://projecteuler.net/](https://projecteuler.net/) It's more of an applied problem set of increasing difficulty than learning from first principles though.

<comment><USER7> Do you suggest finding a closed solution for every problem?

</comment></comment><comment><USER61> I started to learn maths again in university. The library was a great place to learn the history of it (I started to get into the history of Encryption)

As for learning how to do stuff with maths. I'm a huge fan of being taught it - then again i'm the sort of learner who really gains when showed how to do something and then left to practice.

</comment><comment><USER62> "Read Euler, read Euler, he is the master of us all." \- Pierre-Simon Laplace

Seriously though, 'Euler: The Master of Us All' by William Dunham was the book that got it going for me. Good mix of history, narrative and mathematics. Really great read.

As an aside, it's absolutely fascinating to learn how much we don't know about maths.

</comment><comment><USER63> I would check out

Mathematics: From the Birth of Numbers by Jan Gullberg

Beautiful book, goes from the counting numbers to partial differential equations. It's also a delight to read.

I would start that as a survey of mathematical concepts, and then move on to a good math engineering/physics textbook, like Mathematical Methods in the Physical Sciences by Mary L. Boas

</comment><comment><USER64> I can recommend 'Who is Fourier?' By the Transnational College of Lex. It assumes very little prior knowledge and introduces the reader to, among others, the concepts of trigonometry, calculus, imaginary numbers, logarithms and Fourier analysis.

I wish I'd known about this book when I was studying maths at school.

</comment><comment><USER65> Perhaps you might enjoy an essay I wrote on this very topic, based on my experiences of learning math on my own for 5 years: [https://medium.com/@amathstudent/learning-math-on-your- own-3...](https://medium.com/@amathstudent/learning-math-on-your- own-39fe90c3536b)

<comment><USER66> Hah, I just read your essay a couple of days ago!

</comment></comment><comment><USER67> Methods of Mathematics Applied to Calculus, Probability, and Statistics by Hamming is an excellent and rigorous introduction text.

[http://www.amazon.com/Methods-Mathematics-Calculus- Probabili...](http://www.amazon.com/Methods-Mathematics-Calculus-Probability- Statistics/dp/0486439453)

</comment><comment><USER68> Thanks for putting this question. I too hope to do this someday .. I am stuck with knowing what are the fundamental topics so that i can apply what i learn to as many domain as i see fit, with minimal learning of basic concepts. I have unfortunately not made that much headway.

</comment><comment><USER69> I'm trying to do this too right now. I've found this course on real analysis to be very helpful (I suggest watching it sped up though):

[https://youtube.com/playlist?list=PL0E754696F72137EC](https://youtube.com/playlist?list=PL0E754696F72137EC)

</comment><comment><USER70> For those whore are still in University, consider taking a proof-based calculus course, the methods and rigor you learn there will help you learn more. The same can be said for a proof based linear algebra course, which for programmers is even more useful.

</comment><comment><USER71> Apart from all the great replies, here, do try out [http://betterexplained.com/](http://betterexplained.com/) (Many things are free here, you wont' be at a loss, checking this site).

It has some nice aha! moments in math study.

</comment><comment><USER72> Stanford has a great online course titled "How to Learn Math". It doesn't answer your question directly, but explains what approach should you take to learn math effectively. Course is very short, just 6 lessons by 20 minutes each.

</comment><comment><USER73> Surprised to not read it here yet, but if you are really serious about it, read the Bourbaki books: [http://en.wikipedia.org/wiki/Nicolas_Bourbaki](http://en.wikipedia.org/wiki/Nicolas_Bourbaki)

</comment><comment><USER74> I don't think programming or electronics require you have advanced mathematical knowledge. Can you cite an example of things you got stumped on?

</comment><comment><USER46> you can visit [http://functionspace.org](http://functionspace.org) or Khanacademy.org both side provide amazing stuff like video lectures, materials, articles etc for all level starting from very beginner to advance to Experts. Good luck :)

</comment><comment><USER75> I always buy my books from amazon. You should try them out. [http://www.amazon.com/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF...](http://www.amazon.com/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&camp=1789&creative=9325&index=aps&keywords=books&linkCode=ur2&tag=thelaptoptoge-20&linkId=6NQYJQWQ5S2PS7AQ)

</comment><comment><USER76> If one takes the view that mathematics is naught but a set axioms and some conventions for replacement, then the use of Euclidean or Riemannian space simply becomes a choice based on the problem one wishes to investigate...neither is wrong. We pick the axioms and the rules, if they're interesting and reasonably consistent, it's mathematics.

The first principle of _learning_ mathematics is that the notation describing idea `M{n}` depends on an understanding of some notation describing idea `M{n-1}. That's why there is some sense in which "first principles" of mathematics makes sense. In the end, learning mathematics is a long haul - <USER3> academically elite of the world normally spend twelve years just getting to the point of completing a first calculus course before heading off to university.

Of course, there isn't really an explicit ordering to the notation. This despite our ordering of the school-boy educational system. Out in the adult world, mathematicians, engineers, scientists, etc. just grab whatever notation is convenient for thinking about the problem they are trying to solve. Thus, it is common for separate domains to have wildly different underlying abstractions for a common mathematical concept: ie. two problems which are reducible to each other by manipulating notation using replacement.

What this means is that there's no meaningful reason to derive the domain specific language [notation] of cryptography and antenna design simultaneously from Peano arithmetic...sure there's a formalism, but it's a Turing tarpit equivalent to building Facebook's infrastructure in Brainfuck. Starting from first principles is a task for mathematicians of Russel's and Whitehead's calibers. For a novice, it constitutes a rookie mistake; keeping in mind that the problem Gödel found with _Principia Mathematica_ is foundational to computer science.

The philosopher CS Pierce's criticism of Descartes _Meditations_ can be elevator pitched as: enquiry begins where and when we have the doubt, not later after we have travelled to some starting point. The base case for extending our knowledge is our current knowledge; creating better working conditions and unlearning poor habits of mind are part of the task.

If the enquiry grows out of knowledge in computing, it is impossible to start anywhere but from computing. Getting to the "No! I want to start over here!" place is part of the enquiry and a sham exercise.

All of which is to preface two suggestions:

\+ Knuth's _Art of Computer Programming_ presents a lot of mathematics in a context relevant to people with an interest in computing. Volume I starts off with mathematics, Volume II is all about numbers, Volumes III and IV are loaded with geometry and the algebraic equivalents of things we think about geometrically.

\+ Iverson's _Math for the Layman_ and other works are useful for introducing the importance of notation and tying it to computing. [Disclaimer: I'm currently in love with J, and posting the following link was where I started this comment]. [http://www.cs.trinity.edu/About/The_Courses/cs301/math- for-t...](http://www.cs.trinity.edu/About/The_Courses/cs301/math-for-the- layman/)

\+ Because notions of computability are implicit in mathematics, automata theory is another vector for linking knowledge of computing to an increased understanding of mathematics.

Good luck.

</comment><comment><USER77> Take the standard path.

High School

Algebra I

Plane geometry (with emphasis on proofs)

Algebra II

Trigonometry

Solid geometry (if can get a course in it -- terrific for intuition and techniques in 3D)

College

Analytic geometry (conic sections)

Calculus I and II

Linear algebra

Linear algebra II, Halmos, _Finite Dimensional Vector Spaces_ (baby version of Hilbert space theory)

Advanced calculus, e.g., baby Rudin, _Principles of Mathematical Analysis_ \-- nice treatment of Fourier series, good for signals in electronic engineering. The first chapters are about continuity, uniform continuity, and compactness which are the main tools used to prove the sufficient conditions for the Riemann integral to exist. At the end Rudin shows that the Riemann integral exists if and only if the function is continuous everywhere but on a set of measure zero. But what Rudin does there at the beginning with metric spaces is more general than he needs for the Riemann integral but is important later in more general treatments in _analysis_. Rudin does sequences and series because they are standard ways to define and work with some of the important special functions, especially the exponential and sine and cosine further on in the book. The material in the back on exterior algebra is for people interested in differential geometry, especially for relativity theory.

Ordinary differential equations, e.g., Coddington, a beautifully written book, Coddington and Levinson is much more advanced) -- now can do basic AC circuit theory like eating ice cream.

Advanced calculus from one or several more traditional books, e.g., the old MIT favorite Hildebrand, _Advanced Calculus for Applications_ , Fleming, _Functions of Several Variables_ , Buck, _Advanced Calculus_ \-- can now look at Maxwell's equations and understand at least the math. And can work with the gradient for steepest descent in the maximum likelihood approach to _machine learning_.

Maybe take a detour into differential geometry so that can see why Rudin, Fleming, etc. do exterior algebra, and why Halmos does multi-linear algebra, and then will have a start on general relativity.

Royden, _Real Analysis_. So will learn measure theory, crucial for good work in probability and stochastic processes, and get a start on functional analysis (vector spaces where each point is a function -- good way to see how to use some functions to approximate others). Also will learn about linear operators and, thus, get a solid foundation for linear systems in signal processing and more.

Rudin, _Real and Complex Analysis_ , at least the first, real, half. Here will get a good start on the Fourier transform.

Breiman, _Probability_ \-- beautifully written, even fun to read. Measure theory based probability. If that is too big a step up in probability, then take a fast pass through some elementary treatment of _probability and statistics_ and then get back to Breiman for the real stuff. Will finally see what the heck a random variable really is and cover the important cases of convergence and the important classic limit theorems. Will understand conditioning, the Radon-Nikodym theorem (von Neumann's proof is in Rudin, _R &CA_), conditioning, the Markov assumption, and martingales and the astounding martingale convergence theorem and the martingale inequality, the strongest in mathematics. So will see that with random variables, can look for independence, Markov dependence, and covariance dependence, and these forms of dependence, common in practice, can lead to approximation, estimation, etc.

Now will be able to understand EE treatments of second order stationary stochastic processes, digital filtering, power spectral estimation, etc.

Stochastic processes, e.g., Karatzas and Shreve. _Brownian Motion and Stochastic Calculus_. Now can get started on mathematical finance.

But there are many side trips available in numerical methods, linear programming, Lagrange multipliers (a surprisingly general technique), integer programming (a way to see the importance of P versus NP), mathematical statistics, partial differential equations, mathematical finance, etc.

For some ice cream, Luenberger, _Optimization by Vector Space Methods_ or how to learn to love the Hahn-Banach theorem and use it to become rich, famous, and popular with girls!

</comment><comment><USER78> you should do courses on coursera.

</comment><comment><USER79> one of the best of hacker news!

</comment><comment><USER80> I will try to list resources in a linear fashion, in a way that one naturally adds onto the previous (in terms of knowledge)

[PREREQUISITES]

First things first, I assume you went to a highschool, so you don't have a need for a full pre-calculus course. This would assume you, at least intuitively, understand what a function is; you know what a polynomial is; what rational, imaginary, real and complex numbers are; you can solve any quadratic equation; you know the equation of a line (and of a circle) and you can find the point that intersects two lines; you know the perimiter, area and volume formulas for common geometrical shapes/bodies and you know trigonometry in a context of a triangle. Khan Academy website (or simple googling) is good to fill any gaps in this.

[BASICS]

You would obviously start with calculus. Jim Fowlers Calculus 1 is an excellent first start if you don't know anything about the topic. Calculus: Single Variable [https://www.coursera.org/course/calcsing](https://www.coursera.org/course/calcsing) is the more advanced version which I would strongly suggest, as it requires very little prerequisites and goes into some deeper practical issues.

By far the best resource for Linear Algebra is the MIT course taught by Gilbert Strang [http://ocw.mit.edu/courses/mathematics/18-06sc-linear- algebr...](http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra- fall-2011/Syllabus/) If you prefer to learn through programming, [https://www.coursera.org/course/matrix](https://www.coursera.org/course/matrix) might be better for you, though this is a somewhat lightweight course.

[SECOND STEP]

After this point you'd might want to review single variable calculus though a more analytical approach on MIT OCW [http://ocw.mit.edu/courses/mathematics/18-01sc-single- variab...](http://ocw.mit.edu/courses/mathematics/18-01sc-single-variable- calculus-fall-2010/syllabus/) as well as take your venture into multivariable calculus [http://ocw.mit.edu/courses/mathematics/18-02sc- multivariable...](http://ocw.mit.edu/courses/mathematics/18-02sc- multivariable-calculus-fall-2010/Syllabus/)

Excellent book for single variable calculus (though in reality its a book in mathematical analysis) is Spivaks "Calculus" (depending on where you are, legally or illegally obtainable here [http://libgen.org/](http://libgen.org/) (as are the other books mentioned in this post)). A quick and dirty run through multivariable analysis is Spivaks "Calculus on Manifolds".

Another exellent book (that covers both single and multivar analysis) is Walter Rudins "Principles of Mathematical Analysis" (commonly referred to as "baby rudin" by mathematicians), though be warned, this is an advanced book. The author wont cradle you with superfluous explanations and you may encounter many examples of "magical math" (you are presented with a difficult problem and the solution is a clever idea that somebody magically pulled out of their ass in a strike of pure genius, making you feel like you would have never thought of it yourself and you should probably give up math forever. (Obviously don't, this is common in mathematics. Through time proofs get perfected until they reach a very elegant form, and are only presented that way, obscuring the decades/centuries of work that went into the making of that solution))

At this point you have all the necessery knowledge to start studying Differential Equations [http://ocw.mit.edu/courses/mathematics/18-03sc- differential-...](http://ocw.mit.edu/courses/mathematics/18-03sc-differential- equations-fall-2011/Syllabus/)

Alternativelly you can go into Probability and Statistics [https://www.coursera.org/course/biostats](https://www.coursera.org/course/biostats) [https://www.coursera.org/course/biostats2](https://www.coursera.org/course/biostats2)

[FURTHER MATH]

If you have gone through the above, you already have all the knowledge you need to study the areas you mentioned in your post. However, if you are interested in further mathematics you can go through the following:

The actual first principles of mathematics are prepositional and first order logic. It would, however, (imo) not be natural to start your study of maths with it. Good resource is [https://www.coursera.org/course/intrologic](https://www.coursera.org/course/intrologic) and possibly [https://class.stanford.edu/courses/Philosophy/LPL/2014/about](https://class.stanford.edu/courses/Philosophy/LPL/2014/about)

For Abstract algebra and Complex analysis (two separate subjects) you could go through Saylors courses [http://www.saylor.org/majors/mathematics/](http://www.saylor.org/majors/mathematics/) (sorry, I didn't study these in english).

You would also want to find some resource to study Galois theory which would be a nice bridge between algebra and number theory. For number theory I recommend the book by G. H. Hardy

At some point in life you'd also want to go through Partial Differential Equations, and perhaps Numerical Analysis. I guess check them out on Saylor [http://www.saylor.org/majors/mathematics/](http://www.saylor.org/majors/mathematics/)

Topology by Munkres (its a book)

Rudin's Functional Analysis (this is the "big/adult rudin")

Hatcher's Algebraic Topology

[LIFE AFTER MATH]

It is, I guess, natural for mathematicians to branch out into:

[Computer/Data Science]

There are, literally, hundreds of courses on edX, Coursera and Udacity so take your pick. These are some of my favorites:

Artificial Intelligence [https://www.edx.org/course/artificial-intelligence- uc-berkel...](https://www.edx.org/course/artificial-intelligence-uc-berkeleyx- cs188-1x)

Machine Learning [https://www.coursera.org/course/ml](https://www.coursera.org/course/ml)

The 2+2 Princeton and Stanford Algorithms classes on Coursera

Discrete Optimization [https://www.coursera.org/course/optimization](https://www.coursera.org/course/optimization)

Convex Optimization [https://itunes.apple.com/itunes-u/convex-optimization- ee364a...](https://itunes.apple.com/itunes-u/convex-optimization- ee364a/id384232270) [https://itunes.apple.com/us/course/convex-optimization- ii/id...](https://itunes.apple.com/us/course/convex-optimization- ii/id495052483)

[Physics]

[http://theoreticalminimum.com/courses](http://theoreticalminimum.com/courses)

[http://ocw.mit.edu/courses/physics/](http://ocw.mit.edu/courses/physics/)

</comment><comment><USER81> One way to approach your wishes to learn "mathematics from first principles" is to see modern mathematics as the study and application of formal systems:

[http://en.wikipedia.org/wiki/Formal_system](http://en.wikipedia.org/wiki/Formal_system)

A formal system has several components:

An alphabet of symbols from which sequences or strings of symbols are constructed. Some of these strings of symbols can be well-formed according to some formal grammar, which is the next component.

Next we have a collection of basic assumptions, called axioms, which are supposed to reflect the obvious truths about whatever we want to formalize in the formal system.

And then we have some rules of inference. They allow us to derive conclusions from premises. An example would be the rule of modus ponens: If we have "If A then B" and "A", we can conclude "B".

An example of a formal system is ZFC set theory which can be regarded as a formalization of one concept, the concept of a set:

We take "classical predicate logic" as a background formal system, it already has logical symbols, like symbols for AND, OR and "IF ... THEN ..." and quantifiers "FOR ALL ..." and "THERE EXISTS ...".

We enhance this logic with one non-logical symbol, the binary element-of- symbol ∈. With it we want to express the idea that something is an element of something, for example x ∈ y is supposed to mean that x is an element of y.

Of course this is a bit simplified, but now we can build expressions (with symbols from the alphabet, according to the grammar for logical formulas plus the element symbol) which talk about the element-of-relationship between individuals.

Next, we sit together at a round table and discuss which properties about sets and element-of or membership of a set we see as self-evident - there is room for discussion and there can be many different intuitions.

For example, as in ZFC set theory, we may want to have some existence axioms. They guarantee us that in this formal system certain objects do exist. An example is the axiom of the empty set: There exists a set which has no elements. This statement can be written in our formal language.

Other axioms may have a more constructive meaning. Instead of telling us that something exists, they say that given the existence of some objects we know the existence of further objects. An example would be the axiom of set unions: Given some arbitrary sets A and B, there exists a set C, which contains all the members of A and all the members of B as its elements. Another axiom asserts the existence of an unordered pair of any two given sets, from this we can define the concept of an ordered pair, which is very important.

ZFC is one example of a set theory, there are many different set theories. You could exchange classical logic with intuitionistic logic and arrive at some formal system for intuitionistic or constructive set theory. You can drop certain axioms, because maybe they do not appear as self-evident to you (for example the axiom of choice, which contributes the "C" in ZFC, is not accepted by some people). You may add further axioms to arrive at a possibly stronger theory.

One interesting aspect about set theory is that the concept of set is very powerful and expressive, because many concepts from modern mathematics can be build up from sets: natural numbers 0,1,2,3,... can be constructed from the empty set, functions can be represented through ordered pairs of sets. Sometimes set theory is regarded as "the foundation of all mathematics", but feel free to disagree! Just because natural numbers can be modelled as sets it is not certain that natural numbers are indeed sets.

The basic pattern above is the formalization of an intuitive or natural concept, something from everyday life. We try to capture the essentials of this concept within a formal system. And then we can use the deductive power of the formal system to arrive at new and hopefully interesting conclusions about whatever we wanted to formalize. These conclusions are theorems. Not all theorems are interesting, some are even confusing, paradox and disppointing. Formalization is used to arrive at new insights about the original concept. Interesting in this context is Carnap and his idea of explication of inexact prescientific concepts:

[http://en.wikipedia.org/wiki/Explication](http://en.wikipedia.org/wiki/Explication)

What I want to express with this is that it is really possible to start your journey into mathematics at a beginning.

</comment><comment><USER82> book:

[http://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to- mat...](http://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to-math-and- physics/paperback/product-21899015.html)

world.mathigon.org

mathworld.wolfram.com

good luck!

<comment><USER22> @bobsadinook Thx for the plug!

</comment></comment><comment><USER83> I've had the exact same question.</comment>


He Four-Billion-Year Story of How We Got Conscious Brains - <AUTHOR> https://www.nature.com/articles/d41586-019-02475-x <comment><USER2> Somehing missing from he ile?</comment>


Linus accidentally deletes the kernel subdirectory (1993) - <AUTHOR> https://groups.google.com/forum/#!searchin/alt.hackers/Linus|sort:relevance/alt.hackers/yxLsw4a4d3E/wWp_h7C2bjkJ <comment><USER2> To learn how to make shoes you need to break shoes (:</comment>


A visual thank-you to the top submitters - <AUTHOR> http://ycombinator.com/newsnews.html?12jan08 <comment><AUTHOR> I currently use 99bbaa. It's a sort of 1950s English green.

<comment><USER2> Great, I'm using 6ED757, actually when replying I realized that the top bar is still orange.

</comment></comment><comment><AUTHOR> Here are all the colors chosen by at least one person: <http://news.ycombinator.com/topcolors>.

</comment><comment><USER3> cafff6 and e2e2e2 are light and refreshing.

Very cool way to reward users. Perhaps once 500 karma points are hit, a user should get an automatic spot in one of the YC sessions. Thoughts?

EDIT: I was being sarcastic. Loosen up.

<comment><USER4> Automatic funding? ;)

</comment></comment><comment><USER5> Why would anyone want the top bar to not be orange?

<comment><USER6> ff8822 is the one true YC orange.

The orange in the logo is ff6500, but it looks darker on the larger nav bar and with black text on, so you have to compensate.

<comment><USER7> ff9900 for me. (My first job was at a startup, that was one of our logo colors.)

</comment></comment></comment><comment><USER8> Thanks! PG, can you let us customize the whole CSS?

(That will help people who can't use Firefox at their day job / all computers that they log in will have same YCN style)

Also you may want to give this facility to everyone and give something else to us 200+ers... May be 5 down votes that we can use on submissions per month...

<comment><USER9> I'd rather pg working more on essays or other features than on something like that.

Isn't the point of CSS that people can customize it in their browsers anyway?

Another idea: create a proxy that modifies the CSS, then all your computers could go through that proxy for your modified version of news.yc.

With Firefox, also check out Greasemoney.

<comment><USER8> It has been a long time since we got an essay from him, yes.

BTW, I was just speaking for people with day job who can't use Firefox. Anyway, proxy should work in that case.

</comment></comment></comment><comment><USER10> A clever feature would be to evaluate the brightness of the color and swap the text color to white if it's a dark color. A black bar with white text would look swanky on Halloween.

</comment><comment><USER11> This is quite a clever way to reward users.

</comment><comment><USER12> I have ffbb22 going on, but I think my color selections are questionable. Can anyone confirm this? :)

<comment><USER13> Indeed, they are questionable. :)

</comment></comment><comment><USER14> Thanks.

I made the top bar white, and it really makes everything dramatically cleaner looking.

<comment><USER15> I'm very color blind and have been told my designs are "a bit ugly." Therefore, I think I'll stick with orange (it _is_ orange isn't it?).

<comment><USER16> Got a Mac? Grab this: <http://color-decoder.en.softonic.com/mac>

A buddy of mine that's color blind uses it all the time now. He showed it to me some time ago... I bookmarked.

</comment></comment></comment><comment><USER17> #FFFFFF all the way

<comment><USER18> I'm offended by your #FFFFFF supremacist views.

<comment><USER19> #FFFFFFey always be keepin' the #000000 man down!

<comment><USER3> Please check the appropriate boxes regarding your ethnicity:

[ ] #FFFFFF

[ ] #FFFF00

[ ] #C78D4E

[ ] #000000

[ ] Other - #_ _ _ _ _ _

In all seriousness, most standardized tests / school apps seem to come across this way.

<comment><USER16> [x] #00FF00

It's not easy being green.......

</comment></comment></comment></comment></comment><comment><USER16> Thanks pg!

I'm set on: 5899c9

</comment><comment><USER20> You're welcome!

(lol)

</comment><comment><USER21> #3399ff looks great

</comment><comment><USER22> nice

</comment><comment><USER13> WOOT! 888888

</comment><comment><USER23> eeeeee

</comment><comment><USER24> Huh, apparently you need 251 Karma. What a non-round milestone.

<comment><USER24> So, if anyone forgets the original color (which I might do, again) it is ff6600.

</comment></comment><comment><USER25> Can everyone mod this up so I can reach 250? (I only need 20 more)

Please ...

<comment><USER4> Perhaps you should have phrased your request in smartass form.

<comment><USER26> you mean 'your request'.

<comment><USER3> You should learn how to properly capitalize your words, and that quotation marks come after periods.

<comment><USER27> The quote-after-period thing is a rule I deliberately break. I dun like it. It's just not me.

<comment><USER14> Yeah, I run red lights because I dun like them. They're just not me.

<comment><USER27> Yeah, I hate it when I reorder my quotes and periods and people get killed. No, wait... I don't think that's really a good analogy.

<comment><USER14> Maybe I slightly exaggerated.</comment></comment></comment></comment></comment></comment></comment></comment>


UN issues warning to US authorities to stand down against rioters - <AUTHOR> https://www.abc.net.au/news/2020-07-24/un-issues-warning-to-us-authorities-over-black-lives-matter/12491624 <comment><USER2> With so many controversies about UN (WHO about masks; UN about Taiwan; Russia and China having veto; UN support for Khmer Rouge and so on and on and on), UN does not matter much. It would be better for the world if UN was disposed and replaced with something meaningful.

(The article mentions "The UN called on authorities to specifically ensure federal and local police were clearly identifiable", which would be very good, but nobody really cares about what UN says.)

<comment><USER3> What a silly thing to say, and who should fight that world war? You do realize the UN is the reason WW3 has been delayed for so long? The UN is not an authority over nations, it's an organization meant to facilitate diplomacy. So, instead of Europe sanctioning the US in this case, they take action in form of a meaningful yet ineffective condemnation. It succeeded in avoiding diplomatic escalation.

The US is not special, extrajudicial killings happen all over the world, when was your UN replacement that will fix the world when this started in philippines in 2016? Syria? What will your replacement do, send troops? Sanction? The UN does that.

Ever heard of the term belling the cat? [http://read.gov/aesop/003.html](http://read.gov/aesop/003.html)

<comment><USER4> The UN is not the reason for the delay in WWIII. Mutually assured destruction is the reason for that. The US and Russia conducted proxy wars for decades in spite of the existence of the UN.

<comment><USER3> Not true at all, world war is not synonymous with nucleat wat between US and Russia. Regional conflicts grow and draw in super power allies, before you know it you are fighting proxy wars and those proxy wars grow to actual battles. If and when nuclear powers feel their existence is in danger, they will use nuclear force.

Mutually assured destruction sounds nice in movies but in reality, it stopped the mighty japanese empire. Some look at nukes as a way to sacrifice millions to save billions. Some think even a nuke power like the US will not continue to escalate after a nuclear war because of political red tape or MAD,the US or Russia for examples might surrender and accept loss instead of riskiny a global nuclear war.

<comment><USER5> I'd rather have been conquered by the Japanese.

<comment><USER2> Which means that you are either an ultra pacifist against any form of violence even for self-defecnce or you did not study history well enough [https://en.wikipedia.org/wiki/Japanese_war_crimes](https://en.wikipedia.org/wiki/Japanese_war_crimes)

</comment></comment></comment></comment></comment></comment><comment><USER6> Interesting story. I haven't seen that in the US news yet.</comment>


Ask HN: Where to save passwords and api keys - <AUTHOR>

Hey guys, I have several email accounts related to all projects and also several server root passwords, database passwords, api keys and secrets from many services, and those passwords are stored in the config files of it's respective projects. I want/need to save those passwords in some place safe and with easy access. Any suggestions? <comment><USER2> There are various services that can provide a centralized storage for you.

I keep mine pretty old-school, keep them in text files, which I then print out and file in a safe. Lately I've been encoding my text to QR codes before printing, making re-entry a little easier.

</comment><comment><USER3> KeePass on two USB drives.</comment>


Imperial College: Code for modelling estimated deaths and cases for COVID19 - <AUTHOR> https://github.com/ImperialCollegeLondon/covid19model <comment><USER2> Maybe I'm missing something, this doesn't seem to have the "thousands of lines of undocumented C" of the model used in _that_ report, just some R. Anyone know if/when it will be released?</comment>


Sun is the most perfect sphere ever observed in nature - <AUTHOR> http://www.guardian.co.uk/science/2012/aug/16/sun-perfect-sphere-nature

<comment><AUTHOR> I thought this headline was startling, and after reading through the article submitted here, I hunted up more reporting on the issue. The abstract of the underlying research report

[http://www.sciencemag.org/content/early/2012/08/15/science.1...](http://www.sciencemag.org/content/early/2012/08/15/science.1223231.abstract)

leads to the full report in the journal Science for people who can get through the Science paywall, and other reporting on the research report from Science staff writers

[http://news.sciencemag.org/sciencenow/2012/08/sun-slimmer- th...](http://news.sciencemag.org/sciencenow/2012/08/sun-slimmer-than- expected.html)

and from other journalists

[http://news.nationalgeographic.com/news/2012/08/120817-sun-s...](http://news.nationalgeographic.com/news/2012/08/120817-sun- shape-round-science-space-nasa/)

[http://www.nature.com/news/sun-stays-nearly-spherical- even-w...](http://www.nature.com/news/sun-stays-nearly-spherical-even-when-it- freaks-out-1.11224)

fills in some of the details.

</comment><comment><USER2> Kind of funny that the most perfect sphere ever observed in nature was staring us in the face this whole time. :)

Also, how is it that this was only measured just recently? Astronomers suspected it was wider at the equator, like Jupiter, but never bothered to check?

</comment><comment><USER3> _As a spinning ball of gas, astronomers had always expected our nearest star to bulge slightly at its equator, making it very slightly flying-saucer shaped_

I stopped reading at this point.</comment>


Newspaper to charge for commenting - <AUTHOR> http://www.guardian.co.uk/media/greenslade/2010/jul/13/paywalls-us-press-publishing

<comment><USER2> In short, a local newspaper (not the Guardian) will charge your credit card a one-off fee of 99 cents if you post comments to its site. By doing this, you agree that your real name will be used alongside the comment, and you are responsible for its content.</comment>