212 karma · joined March 1, 2010
In other words, how much additional security does password-protecting your private key gain you?
http://mitpress.mit.edu/sites/default/files/titles/content/s...
The idea behind the book is to make the "mathematical notations be explicit and precise enough that they can be interpreted automatically, as by a computer." Since Sussman is involved, that means that they (and you, when you do the problems) write scheme programs.
In a more traditional vein, _Mechanics_ by Landau and Lifshitz is (in my view) among the 2 or 3 best physics textbooks available. It's a great supplement for two reasons: (1) it takes a somewhat different approach to the material than most other textbooks (emphasizing the consequences of symmetries from the very beginning) (2) it's quite short, which I find to be very helpful when self-learning.
But I believe that Planck was the first satellite to cool to below 1 K using only cryocoolers. Planck actually uses a dilution fridge to get to 100 mK, which is kind-of astounding.
I don't know why Hershel used liquid helium instead of a cryocooler, but my guess is that the technology for cooling with liquid helium in space is very well understood and reliable, so it's a risk thing. That's not to say that nothing can go wrong; there was a japanese telescope that lost all its helium within some very short period of time thanks to an engineering mistake.
This is a nice whitepaper about cryocooling in space: http://cmbpol.uchicago.edu/depot/pdf/white-paper_w-holmes.pd...
But I agree that it's very important to understand that a superconductor is not the same thing as a "perfect conductor", and the kinetic inductance is a great example of this. The ideas behind MKIDs are very cool.
You seem to have the idea that the only useful thing to come out of linear algebra are a set of algorithms, and that as long as you have computer routines implementing those algorithms, the proofs that those algorithms work don't matter. There is a grain of truth in this, but the concepts that you learn in a linear algebra course - particularly around eigenvalues and eigenvectors - are very important in providing you the knowledge to choose those algorithms well. And the process of working hard to understand proofs is a great way (perhaps the best way) to make sure that you really understand those concepts. It's also a great way to make sure that you really understand what a theorem means / why a particular algorithm works.
most research is about speeding up calculations on computers
A a large amount of progress in "speeding up calculations" comes from algorithmic advances. These advances aren't being made by people who view linear algebra as nothing more than a set of library routines. They come from people who deeply understand the concepts and proofs behind the important theorems of linear algebra.
The thing that you are missing is that linear algebra is about much more than matrix multiplication. It is about the properties of linear transformations in general. While matrix multiplication may have simple implementations in spreadsheets, many other concepts in linear algebra don't, for example calculations of and properties of eigenvectors and the corresponding eigenvalues, or the various matrix decompositions (themselves closely related to eigenvalues and eigenvectors). The matrix decompositions in particular give results that not only are mathematically interesting, but are enormously important computationally.
In terms of societal impact, other than calculus, no field of mathematics has had a greater impact than linear algebra. From quantum mechanics to the google search engine to machine learning, linear algebra is fundamental. Spreadsheets are awesome and a brilliant idea, but they are aimed at solving a different set of problems. Important though they may be, they pale in comparison to linear algebra.
http://profmattstrassler.com/articles-and-posts/particle-phy...
There were apparently two problems:
1. An improperly calibrated clock 2. A fiber optic cable was not fully plugged in. This led to a little bit of light leaking out from the cable, which lead to a (very small) delay in recognition of the arrival of a pulse on the fiber.
Yes, modern physics experiments are pretty complicated and lots of things can go wrong!
But I wonder whether 20 year-olds who have been immersed in this kind of thing for 3-4 years would agree. And what today's 13-year-olds will think then they are 20, and this has been a part of their entire post-childhood..
And you'd be surprised at how much fun 3-4 years old can have with laundry baskets and small blankets. Throw in a few medium-sized cardboard boxes from U-haul and it's pandemonium.
You might hope that if you managed to replace some of what teachers do with technology you could pay the childcare people less. But it's not like teachers get paid huge amounts of money today. So I'm not sure how much scope you really have for cost-cutting there.
My view is that education is expensive, and growing more expensive, primarily because the field hasn't seen the kind of productivity increases that the rest of the economy has. Some of that might be due to conservatism regarding technology among educators. But a lot of it is simply that kids require hands-on supervision, there is maximum "student-to-adult" ratio that you can't really go over, and so inevitably education costs are going to rise faster than other costs. It's part of the price we pay for a technologically sophisticated economy.
There's probably scope for reducing staff at high schools, but don't kid yourself that technology is going to provide some magic reduction in the cost of primary education.
Edited to add: I think that making high school more like college in terms of giving kids autonomy and opportunities to do real-world types of activities outside of school would be a great idea, and conceivably could both lower the cost of running schools and increase the value of schools. But this requires much more than technology to enact, there is also an huge cultural and societal component to deal with.
Are you really saying that what matters is abstraction, and that we would be better off thinking about higher vs lower levels of abstraction instead of the more subjective what vs how? I think I might agree with that, but then you do get into the problem of deciding which of two pieces of code is more abstract, and I think you are going to end up with the same problem all over again of it depending on your assumptions.
Oh, and thanks for the interesting comments!
I'm really surprised by this statement, and I hope you will expand on it. I think the example of relational databases and SQL (which is very close to the example in the blog post) demonstrate conclusively that there are many case where huge gains are attained (in development time, maintenance, flexibility, ...) by building systems that allow a question to be answered by specifying "what" instead of "how".
Now I suppose you could argue that writing a SQL statement doesn't really specify "what"; it still specifies a "how", it's just that the "how" includes things like "let the RDBMS decide what indexes to use to answer this query, what order to access tables, whether to get data from disk or in memory, etc". But then I would ask what you propose as an alternative to the what/how distinction ... because there very clearly is a difference between SQL and hand-crafted for loops.
Anyway, other explanations could be that the result is not real (which Hanson does discuss at the end), or that women from these colleges choose lesser-paying careers for some reason other than that they are married to rich men ... perhaps women at elite colleges 25 years ago were unusually interested in charity work. I don't think Hanson's proposed explanation is necessarily wrong, but that phrase "why don't they want us to hear about this?" really rubs me the wrong way.
Sure, but it's not something that everyone can just switch on. if thte OP were that kind of person, he probably wouldn't have posted. So I think this advice is poor for this case.
You'll meet someone soon enough that will see positive where this last girl saw negative.
This, on the other hand, is 100% true. But very hard to believe when you are in the OP's mood.
So my advice would be to dial back a little bit on the startup, and find some new non-work activity to take on.
I know he would have caught these bugs had he needed to implement these for a real system. But there is nevertheless an important point here. He is 100% right that over-architecting is a bad idea, and that correctness is more important than architecture. But complaining about a factorial function not handling negative numbers, and then "fixing" the problem by implementing the Gamma function, is doing the same thing all over again. It's really easy to fix the factorial implementation to do something reasonable for negative numbers; it's much harder to implement a Gamma function that works for all input. Why bother unless you really have to?
Math.pow(z/Math.E, z)
should be:
Math.pow(tmp2/Math.E, z)
So from this I conclude that there are two types of java programmers: those that over-architect their solutions, and those that don't even both to test the code they put in blog posts ;-)
1. The 3.5 mile figure is for resolving the stripes on the flag, not for seeing the flag. If you just want to see the flag, an aperture diameter of around 400 m is required.
2. The "Dawes Limit" is just presented with no explanation. It ultimately comes from the fact that the achievable angular resolution of an aperture of size D, using light with wavelength lambda is lambda/D. So if you were willing to work at 10 nm, then the aperture size goes down by a factor of 50 (of course working at 10 nm has it's own set of problems).
It seems to me that it would be really nice for a developer to be able to treat html/javascript/css similar to the way that developers today treat assembler - a very low-level way to the browser to do exactly what you want, but something that the large majority of programmers don't need to know anything about. So that instead of needing to write html/javascript/css, a developer codes to an api that operates at a higher level (in much the same way that developers of GUI applications code to an api that operates at a high level).
Are there web frameworks that insulate developers totally from html/javascript/css? Is this what frameworks like rails/lift/django give you, at least for a limited domain of applications? Is such a framework even possible? Desireable?
What am I missing?
1. It should be fairly trivial to test that your implementation is giving exactly the same output as the c libs (once you have chosen a particular random number that feeds into the algorithm). It seems like the trickiest part of testing will be ensuring that you are using the same character set everywhere.
2. Why is it important to have a "cryptographically strong" PRNG? Doesn't this just turn into a salt? Does a salt generator really need to be cryptographically strong?
Someone please correct me if I am being naive here.