rivalis | 10 years ago | on: Some Musings on Mathematics
rivalis's comments
rivalis | 10 years ago | on: Some Musings on Mathematics
I don't think that whenever someone asks an artist or writer what the "point" of their work is that they're looking for a justification for allocating public funds to it. They might want that, but they also might want some kind of insight into or identification with the intrinsic motivation for the work.
rivalis | 10 years ago | on: Parallels Between Math and Software Engineering
I think it is important to remember this, because mathematics, like a computer, "fights back." You cannot simply dream up whatever structure you want and have it mean what you want and behave how you want. See Godel's incompleteness theorems. No matter what you are doing, your mathematical constructs (including your implicit Turing Machines in your computer programs) must obey certain underlying constraints that are completely mind-independent. These constraints are what mathematicians study, albeit through a glass, darkly.
Regardless of ontological issues with the post, I like that it emphasizes the designed nature of our mathematical tools. The space of possible tools is so large that there is near-limitless room for human creativity and design in mathematical research. It is a shame that most mathematics classes don't really get that across.
edit: fixed misgendering, sorry, that was sexist.
rivalis | 12 years ago | on: Ask HN: How to best acquire theoretical computer science knowledge?
Even at good schools (in the US, anyway) the calc up to multivar that is required isn't done with what I would call good proofs. They'll generally do epsilon-delta definitions of the limit and a few other fun things, but will fall far short of a truly rigorous development of the calculus. Same goes for many introductions to linear algebra and stats with calc courses. Some math departments use linear algebra to introduce proofs and creative mathematical thinking, though, so this isn't always the case.
So if someone is looking to develop how they think in mathematics and they already have a good programming background, they are much better served by taking a discrete math course than any of those sorts of math courses. If they then want to learn calculus, I would recommend self-study from Spivak's "Calculus" book which is a fun and elementary but rigorous treatment of the subject. You get to see not just how calculus works, but why it works, which is sorely lacking in most undergrad calc courses, even up to multivar.
rivalis | 12 years ago | on: Ask HN: How to best acquire theoretical computer science knowledge?
I don't know that I agree with the poster above with respect to:
"a top school would require you to study a bunch of mathematics to gain a certain level of rigor of your thinking"
Most good schools require only two courses in "pure theory": first an introduction to discrete mathematics, where you learn about logic and how to prove stuff, a smattering of number theory/crypto, graph theory, probability, and automata theory; second an algorithms course that teaches you to analyse and construct algorithms according to certain design methods. Together this is really only a year of mathematics, and both courses are quite fun.
Note that discrete mathematics as taught by a good CS program is NOTHING like the math you learned in high school or elementary school, it teaches you to think creatively about mathematical structures and then justify that creativity with logic.
If you're already a developer, you'll probably have a bunch of latent structures hanging around in your brain that will let you have an easy/fun time with the material in these two courses. I suggest that you study discrete mathematics and algorithms in depth, to the level of some decent undergrad course on each. Learning this material will give your thinking the sort of quantitative/logical "edge" you might want -- these two courses contain the basic mathematical tools common to much of computer science. I do agree with the post above that they are not the most practical things in terms of everyday engineering, though.
Addendum: if you find that you really enjoy the mathematical angle and you think machine learning is cool, also learn linear algebra, because a bunch of machine learning theory and implementation relies on linear algebraic algorithms and concepts. Linear algebra actually would be practical to know if you ever do anything with data analysis.
rivalis | 13 years ago | on: Why a Computer Science Degree Matters
Automata theory may seem arcane, but if you want to truly understand concurrent programming, protocol design, robust systems, etc, you need good cognitive models. Heck, Erlang (one of my favorite languages for massively distributed computing) has some nice OTP stuff (http://www.erlang.org/documentation/doc-4.8.2/doc/design_pri...) built in for using FSMs to make your code sane and robust.
FSM's are one of the theoretical CS concepts that it is easiest to see the practical use for, but other TCS tends to be just as useful if you look at it right. Eg, space complexity right? For the most part that doesn't matter, does it? Nope. A bunch of modern internet-sized problems end up being streaming problems (http://geomblog.blogspot.com/2005/05/streaming-algorithms.ht...), and you need to understand basic space complexity, linear algebra, and probability, all of which a good CS degree will get into your head. I think the role of a good CS degree is to get some theory into people's heads, so that they have the right cognitive models for tackling difficult problems that come up in the real world.
I'm not saying that a CS degree is necessary to be a good programmer, or that you can't pick up those mental tools without a CS degree if you need them. But, it is easiest for most people to learn that kind of stuff in a university environment. I for one didn't know that I needed theory to work on the sorts of massive-data problems I was interested in, before going to university. A good CS degree knows about your unknown unknowns.
rivalis | 14 years ago | on: How to understand half of Harry Potter book in any language (+ source code)
rivalis | 15 years ago | on: Ask HN: Apart from Hacker News, what else you read?
- Portrait of a Lady - The Illiad - A collection of Walter Benjamin's very early work - The Braddock Essays (a collection of award-winning essays about teaching composition to college students)
rivalis | 15 years ago | on: Open Letter To New Programmers
rivalis | 15 years ago | on: Lucene's FuzzyQuery is 100 times faster in 4.0
rivalis | 15 years ago | on: Joel Spolsky: Can your programming language do this?
rivalis | 15 years ago | on: Peter Thiel Is Wrong About Higher Education (It’s Worse Than A Bubble)
rivalis | 15 years ago | on: YC: The new grad school
The capitalist function is at odds with this. Job training focused curricula teach practical skills to the detriment of timeless "enrichment" subjects. This damages the level of public discourse and is hostile to democracy (well-informed decisions on the part of voting public). It trains people to submit to a corporate environment, instead of enriching their inner life for decades to come.
This is why things like YC are excellent: they teach the best of capitalism, ie, leadership, risk-taking, meritocracy.
People should be free to determine how many dollars they want to attempt to accumulate relative to other goods. I completely agree that we need to get the price of Higher Ed. in the US under control. I also think that we need to be more up-front about what you can really get out of it: the "signalling function" of a degree (http://octavia.zoology.washington.edu/handicap/honest_econom...) is fundamentally wrong-headed and doesn't do anyone much good: it leads middle-class kids who just want a decent credential to waste money on a college that is torn between vocational school and a transformational mission, and employers don't get much in the way of real information about a job applicant from it.
Sorry to ramble. I'm just very glad to see this conversation begin to open up; attitudes towards and uses of college degrees are incredibly broken, and it seems like a massive "re-factoring" of the whole system (concerns include: civic sophistication, quality of life enrichment, entrepreneurial, vocational-centric) into smaller, more focused parts is what is needed.
The serious acceptance of YC and other options like it is the first step along that path. Education is not one-size-fits-all, and we have been telling ourselves that about the "college" system for far too long.
rivalis | 15 years ago | on: YC: The new grad school
The tension between the job training mission imposed by a capitalist society and the more traditional humanist "transformational" mission has watered down the educational system.
As someone who chose education for the sake of education with my eyes wide open and not expecting much in the way of dollars afterward, I applaud the decisions of entrepreneurs to recognize the mission confusion of colleges and simply leave.
Institutions should be like UNIX programs: they should do one thing and do it well. I think that it would be in everyone's best interest to pull job training right out of colleges and use the YC model.
And anyway, at least they're talking about it... Is being ignored because math is "boring" better? Maybe yes, maybe no. I suppose it depends on how "evangelical" you want to be with respect to mathematics.