Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Math Every Day (googlepages.com)
70 points by yarapavan on Oct 6, 2009 | hide | past | favorite | 17 comments


Sadly Yegge's solution to his innumeracy consisted of trawling through the same list of categories which presumably failed him at school. I wonder how that turned out?

There's a reason hackers tend not to be good at 'high school math' - it's incredibly dull. 90% of what most of us did in class consists of essentially running code, the stuff hackers expect the machine to do for us (so we can concentrate on the real problem.)

I think solving mathematical education for the general population is incredibly hard, I wish Paul Lockhart (http://www.maa.org/devlin/LockhartsLament.pdf, http://news.ycombinator.com/item?id=256176) all the best in his efforts. But I think solving mathematical education for hackers ought to be a little easier. We are eminently comfortable with symbolic languages (consistent, testable ones - I'm not sure if many mathematical notations can make the same claim), and we love problem solving. You'd have thought we'd have a hard time not becoming good at math.

Does anyone have any suggestions? How about a textbook where the methods and proofs are expressed in code, for a start?


It'd definitely be interesting to see how HS math teaching could be improved using code. It could definitely improve interest for some by approaching the meaty, interesting bits through a common language.

Unfortunately, though I've not gone through one of the so labelled Math XXXX for CS Majors style classes, I feel a little worried about this approach. It might garner interest initially, but if you're not eventually writing things down using math notation and reasoning at that level then you'll be doing math with a crutch forever.

Mathematical notations are not consistent or testable across any significant body. Most authors abuse notation every chance they get ("syntax sugar", maybe) though the good ones are conscientious about this. The difference is that Math is fundamentally a human language. It exists not to be computed directly but to inspire our non-linear brains to jump to the proper conclusions while laying down a map that (hopefully) outlines some perfectly "consistent" method for getting there.

(Consistent is in quotes because Gödel and so forth. Read the comments at the end of the second chapter of the Jaynes book online for free.)

Computer code is increasingly necessary in anything resembling a practical application of math. I'd suggest that it's as important for an (ugh) applied mathematician as the language of math itself, but I would never think that it could be practiced to the exclusion of the other.

Sure: pique some interest by showing how really cool things can be done with computers that abuse fundamental mathematical things. Do it with graphics or show infinite sum approximations, whatever you like. In the end, your students better be able to at least recognize the mathspeak for what they're doing though. Otherwise you're crippling them even as you inspire.


Couldn't agree more.

One of the problems I always had with math textbooks was that you had to read them as a narrative rather than using them as a reference to dip in and out of. The reason being that most examples or formulas would use symbols defined earlier in the text without bothering to restate their meaning.

So looking up a simple formula would turn into a multi-hour trawl back through the textbook trying to find definitions of all the symbols they were using.

If only mathematicians - and textbook authors, especially - were taught to use meaningful variable names!

On a related note, if anyone does know of a good math reference (esp. for calculus!) which makes an effort to keep it's formulas self-contained, I'd love to hear about it!


I think there are two aspects to this that you might not have considered.

1) If your contact with maths is simply reading a formula out of a book and implementing it then long variable names might be fine. If you are actually trying to do a calculation then long variable names are terrible on two fronts: firstly because they take so much longer to write out, secondly because the additional characters obscure the 'moving parts' of an equation. I'd much prefer looking at "a(b+c) = ab + ac" vs "first_variable * (second_variable + third_variable) = first_variable * second_variable + first_variable * third_variable"

2) I don't really understand what you mean by meaningful variable names. Perhaps if you are using mathematics to model a specific thing then they make sense: eg number_of_people = number_of_males + number_of_females. However, mathematics as a discipline isn't about modeling specific situations, there is no "mathematics for groups of people" for instance. Instead mathematics deals with manipulating abstract ideas - do abstract ideas really have meaningful names?

If you do have some idea then perhaps you could explain how you would define a derivative with meaningful names? The best I can come up with is:

derivative(some_function(variable)) = limit small_change approaches 0 (some_function(variable + small_change) - some_function(variable)) / small_change

Does that really assist cognition more than the standard:

f'(t) = lim h->0 (f(t+h)-f(t))/h ?

btw, can you see from this example what I mean about the extra wordiness hiding the parts? (Maybe I've just used the standard notation for so long the words mess up my pattern matching.)


An interesting ICFP video (http://www.vimeo.com/6615365) I watched yesterday* about proofs, code, and teaching introductory classes seems relevant.

*linked from http://news.ycombinator.com/item?id=862686


And that list doesn't mention his contribution to quantum theory, that he laid the foundation of mathematical quantum theory !

He was a true genius in all senses of the word !

http://plato.stanford.edu/entries/qt-nvd/


Learning all this is very important.

There are people out there working on problems that are either solved, easily mappable to a solved problem, or proven impossible. Don't be one of those people. Don't be one of many to reinvent http://en.wikipedia.org/wiki/Dynamic_programming in a new problem domain. Don't learn http://pmbook.ce.cmu.edu/ the hard way.


An oldie, but a goodie. His articles are forever destined to resurface randomly on hacker news...


Yeah, Steve Yeggie is a damn good writer.

I just don't know how he does it. All the other programmers have years of experience programming but they don't write as good or insightful as him.

I want Steve Yeggie to write a book!


Interesting idea of trying to force math into your everyday life. Since college, the highest level of math I've used is geometry and trigonometry, but none of it was for programming. It's only been useful a few building projects around the house.


I routinely use discrete math in "everyday, consultingware". Computer Science, and by extension programming, is fundamentally a study of discrete math. Linear algebra is another field that I use a LOT, and not just in graphics systems. If you think math isn't useful for programming, it's because you don't know enough math. I'm with the OP on this one, I wish I knew more math. I'm certain it would make me a more efficient programmer.


This is a good blog post. But it could be about anything, and I encourage you to treat it as such (although the idea of doing this with Math is probably something many of could more or less directly use).

Stupid example. I live in a single family house. When we moved in, the yards (front/back) were full of weeds. By weeding for 1/2 an hour a week, I cleaned the front out of weeds. What was insurmountable without chemical assistance turned into a few minutes of digging in dirt (which I enjoy). Now I have a weed free lawn, which I enjoy with my family all the time (grass stains are bad, but we get this dandelion thing that stains permanently at the slightest touch).

I became a foosball whiz (ok, I've seen real whizzes, and I'm not one, but . . . let's say a 'local whiz') by practicing 15-30 minutes a day.

The only real trick is working out a way to want to engage in that activity in a sufficiently 'serious' way on a regular basis. Which is why I have a nice lawn and am good at foosball rather than, say, being good at a musical instrument.


The problem I have with this self directed kind of learning is that sooner or later I always get stuck and have no one to ask questions to. For example, I'm currently going through this book on neural networks that someone posted last week (http://page.mi.fu-berlin.de/rojas/neural/). However, when I get to the exercises at the end of the chapter, I inevitably fail to complete some of them. Most of the time I don't even want the answer, since that defeats the purpose, but some kind of hint to get me going in the right direction would be really useful. Anyone doing a lot of self directed learning from text books with suggestions?


BetterExplained explains some of the math concepts in simpler terms:

Link: http://betterexplained.com/articles/category/math/


Yah, he was sort of a paranoid dude though. I wish that he hadn't died so young, but also that he hadn't been so politically influential.


I think you are confusing him with someone else.

After edit: I'll accept the response below to what I first wrote. But I wouldn't call Von Neumann "paranoid" in the setting of his times, which included the conquest of his native country.


DannoHung is probably talking about von Neumann.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: