Live data from Hacker News

Math For Programmers

steve-yegge.blogspot.com

11–20 of 51 posts

Re: Math For Programmers

#11
post #2

What is kind of weird is seeing Information Theory and Kolmogorov Complexity being described as "kind of new". I guess in some sense it is, but for myself in 2012 I recall first hearing about the work of both Claude Shannon and Andrey Kolmogorov as a university student in 1982 in a first year maths / CS bridging lecture called computational mathematics or some such. Pretty much everything to do with signals, compress…

Think of it this way: The mathematical capstone of most undergrad non-math-major courseloads is Calculus II, which focuses on mathematics largely developed by Newton and Leibniz, as modified by Riemann.

That takes you all the way to the mid 19th Century for what little of Riemann's work the course focuses on, with the bulk (Newton's and Leibniz's contributions) coming from almost two centuries earlier.

Re: Math For Programmers

#12
post #5

One big pet peeve from math class: circular functions are taught in "Trigonometry" while imaginary numbers and vectors are lumped together with basic "Calculus" meaning Euler's formula seems like terrifying voodoo for years after it is first described!

Yes, but if we introduced Euler's work that early trigonometry would be reduced to the study of a single equation!

Re: Math For Programmers

#13
post #4

I think that in this article Steve discounts the effect of actually doing the math for yourself. It's comparatively easy to read about something and think that you've understood it. It's another thing entirely to be able to do that math on paper and get the 'correct' answer without needing help.

There's actually a place slightly beyond "able to do it on paper" at which you grok the maths so well that you can apply it in non-obvious situations without any conscious effort. I'm not sure how to get there in general, but I've noticed that I'm more likely to be able to do this for subjects that I learned in proof-heavy classes.

I have a Masters in math and the applying things in non-obvious situations is one of the things that I really gained from it. Several times I've been in situations where someone is struggling with a problem, and where I can quickly spot a simple mathematical approach to solve it. Many times the mathematics itself is quite simple advanced high school or early college stuff, stuff the person struggling with problem has also studied.

The difference is that to them linear algebra (for example) is something abstract you use to solve linear algebra problems, while to someone with a more deep and solid understanding of math, linear algebra is a simple and general tool that can be applied in all manners of situations.

Re: Math For Programmers

#14
post #4

I think that in this article Steve discounts the effect of actually doing the math for yourself. It's comparatively easy to read about something and think that you've understood it. It's another thing entirely to be able to do that math on paper and get the 'correct' answer without needing help.

There's actually a place slightly beyond "able to do it on paper" at which you grok the maths so well that you can apply it in non-obvious situations without any conscious effort. I'm not sure how to get there in general, but I've noticed that I'm more likely to be able to do this for subjects that I learned in proof-heavy classes.

One of the school math topics that I have made us of a lot is function transformation and translation.

Being able to see things like "what I really need here is this part of a sine curve, stretched along the X axis, compressed along the Y axis, and moved up into the positive", and then write a simple one-liner to do slideshow animation, has proven useful again and again.

To be honest, I didn't really understand the point of it during class, and actually failed that part of the exam. A few years later when I needed it, it just popped out of my brain attic and made sense.

Re: Math For Programmers

#15
post #12
post #5

One big pet peeve from math class: circular functions are taught in "Trigonometry" while imaginary numbers and vectors are lumped together with basic "Calculus" meaning Euler's formula seems like terrifying voodoo for years after it is first described!

Yes, but if we introduced Euler's work that early trigonometry would be reduced to the study of a single equation!

But in fact there's not much more in trigonometry. I always wondered how American schools can spend whole semester on single, simple subject.

Re: Math For Programmers

#16

I learned maths by attending: http://www.cs.ox.ac.uk/softeng/subjects/SEM.html Which is open to anybody willing to pay ~$2k for a week and get their ass to Oxford - you don't need to be enrolled as a student. If you don't have that kind of money to spend (or can't get to Oxford), the course is essentially the first few chapters of: http://www.usingz.com/ which is available for free.

That looks excellent, but a very narrowly defined course around the concepts used by Z. The CS course I did had 3 years of maths and then I did postgraduate work with Control Engineers and I realised that, compared to them, I hardly knew anything (good fun learning as much as I could though).

However long you spend learning maths, probably more than any other subject, you are only going to end up knowing an awful lot about less and less (the usual curse/joy of academic specialization).

Re: Math For Programmers

#17
post #11
post #2

What is kind of weird is seeing Information Theory and Kolmogorov Complexity being described as "kind of new". I guess in some sense it is, but for myself in 2012 I recall first hearing about the work of both Claude Shannon and Andrey Kolmogorov as a university student in 1982 in a first year maths / CS bridging lecture called computational mathematics or some such. Pretty much everything to do with signals, compress…

Think of it this way: The mathematical capstone of most undergrad non-math-major courseloads is Calculus II, which focuses on mathematics largely developed by Newton and Leibniz, as modified by Riemann. That takes you all the way to the mid 19th Century for what little of Riemann's work the course focuses on, with the bulk (Newton's and Leibniz's contributions) coming from almost two centuries earlier.

It's pretty common these days to include a dynamical-systems course in the math core for science majors, which is largely 1960s-70s developments.

Beyond that I think information theory often tends to be treated as more an area of engineering than math, along with digital signal processing, to take another common example. So it's usually taught by engineering or CS departments if by anyone. At schools with a strong mathematical bent to their engineering/CS departments there are usually good courses on both, though.

Re: Math For Programmers

#18
post #3

The last times this post was here: http://news.ycombinator.com/item?id=87393 http://news.ycombinator.com/item?id=16006 http://news.ycombinator.com/item?id=1450483

A bit off-topic, but isn't HN checking whether a URL has already been submitted before? I ask because sometimes I tried to submit an article that was already there and HN just pointed me to the original discussion, so I don't understand how can duplicates happen.

There is, but after a while, it expires, allowing the article to get resubmitted.

Re: Math For Programmers

#19
post #7
post #3

The last times this post was here: http://news.ycombinator.com/item?id=87393 http://news.ycombinator.com/item?id=16006 http://news.ycombinator.com/item?id=1450483

I actually needed to read this again... and perfect timing, too. Hmm... a feed sprinkled with systematic reposts of things that you enjoy, that motivate you, or that you don't want to forget. Has anyone tried that?

If upvotes were public (or at least available to you when logged in), it could just trawl HN's history at some set interval (one year past?) and feed you anything you upvoted that day.

edit: or rather, a few intervals to allow for reposts even after that year period

Re: Math For Programmers

#20
Given the post was 5~6 years back, I would be interested on Steve Yegge's reflection on the post. I would be interested to ask question like 1. How much did he progress mathematically ? 2. How it helped him ?

Would be interesting if Steve Yegge can do an AMA on reddit.

Post reply on HN