HNHacker News
TopNewBestAskShowJobs

weichi

212 karma · joined March 1, 2010

submissionscomments
weichi··on The Get-Rid-Of-Crap-Every-Month Club
So do you keep the books that are part of the 90%, or do you get rid of them?
weichi··on Improving the security of your SSH private key files
Very interesting article. But it makes we wonder ... if someone gets access to your key file, that's nearly always going to be because they have access to your login account, right? And at that point isn't the gig pretty much up?

In other words, how much additional security does password-protecting your private key gain you?

weichi··on Induction powered LED lit engagement ring
Any recommendations for getting a titanium ring enlarged? I can't imagine you could stretch the damn thing. Maybe I would need to find a shop to bore out the hole some more?
weichi··on Flaky: datatypes for real world quantities
Hard to comment without seeing more concrete examples of his approach. But it makes me wonder whether processors are now so fast that, for a large class of numerical problems, the default should be to give up calculational speed in return for eliminating some of the trickiness involved with floating point.
weichi··on Modern Physics From Scratch
For programmers interested in classical mechanics, "The Structure and Interpretation of Classical Mechanics" is a highly unique - and outstanding - introduction to Lagrangian and Hamiltonian mechanics. Available free online:

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.

weichi··on Herschel space telescope goes blind, ends mission
Not sure exactly what you mean by "active", but there are plenty of cryocoolers that work great at temperature below 1.4 K, some of which are also qualified for space. So there's no physical reason for Herschel to not use a cryocooler.

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...

weichi··on Propagation Delay and Its Relationship to Maximum Cable Length
It's not really the case normal metal transmission lines don't have some "extra" L, is it? The magnetic field still penetrates into any real metal, so you have some extra inductance.

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.

weichi··on Propagation Delay and Its Relationship to Maximum Cable Length
Interesting article. A nit that can be picked is that it is not generally true that electrical signals in copper travel slower than c. The reason the signal travels slower than c in an ethernet cable is that the copper is surrounded by dielectric material, and it is the presence of the dielectric that slows down the signal. If the 10BASE5 coax cable was filled with air instead of foam, the signal would travel at c.
weichi··on An Intuitive Guide to Linear Algebra
The details of the proofs are perhaps not relevant to a practitioner. Although I trust you would agree that the existence of the theorems are very useful?

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.

weichi··on An Intuitive Guide to Linear Algebra
I hope the author is reading your comments, because they make it clear that at least one of his readers is coming away with seriously incorrect ideas about 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.

weichi··on How a Startup Launch Was Ruined By Careless Blogger
Sounds to me like the tech reporting industry is in serious need of disruption.
weichi··on Physicists solve Casimir conundrum
No, and the smallness of the force has nothing to do with it. While it's true that there's a force between two metal objects that you could use to do some work, this doesn't get you energy for free because you had to do some work yourself in order to pull them apart in the first place.
weichi··on CERN Confirms Neutrinos Not Faster Than Light
A very good post on this by Matt Strassler from earlier this year:

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!

weichi··on 6.5 Million LinkedIn Password Hashes Leaked
If we can't trust SO for security questions, where do we go to get them answered?
weichi··on The end of social
Interesting article, and as a forty-year-old who doesn't use facebook, it makes sense to me.

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..

weichi··on All Work and No Play: Why Your Kids Are More Anxious, Depressed
Trio's (Fisher Price) are a similar toy to legos, aimed at the 3-5 y.o. range. The lid to the box is a board that the pieces snap into to help build up fun stuff. We don't even really have than many of them (no more than 100 pieces) but the variety of thing that my kids come up with is amazing ... factories, airplanes, cargo ships, flashlight-holders, trucks, trains, farms, houses for small stuffed animals, etc etc etc.

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.

weichi··on Bill Gates on why the brilliant Khan Academy is a force of social change
Heh, well honestly I don't know all that much about elementary school staffing either! But I do know a few things about children, and you simply can't put a large number of them in a space together without adult supervision and expect much educating to go on. Now maybe kids would actually be better off with less learning and more playing, but again without adult supervision of the playing are going to see a lot of destructive behavior. So it's a tough nut to crack.

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.

weichi··on Bill Gates on why the brilliant Khan Academy is a force of social change
Are you seriously suggesting that the average elementary or middle school could "greatly reduce" it's staffing requirements? As someone else pointed out, teachers aren't just there to teach; they also serve as childcare providers.

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.

weichi··on Why Why Functional Programming Matters Matters
OK, this all makes sense. But why does it matter? Am I as a programmer going to make mistakes if I try to write programs in a "what" manner instead of a "how" manner? Is there some other, better distinction that I should be making?

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!

weichi··on Why Why Functional Programming Matters Matters
I think what and how are the same thing.

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.

weichi··on Elite colleges lower women's wages
But Hanson doesn't say "Why don't the study's authors discuss possible explanations for this finding, such as xxx?" Instead, he insinuates that the authors were perfectly aware of this possible explanation, but think that their readers should not be exposed to it for some nefarious reasons (that's what the phrase "why doesn't X want us to hear Y" means colloquially). This sentence leads me to believe that Hanson is coming to this discussion with some biases of his own.

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.

weichi··on Elite colleges lower women's wages
Of course there are. Which makes Hanson's next sentence - "Why don’t the study’s authors want us to hear about that?" - surprising. Overcoming Bias, indeed.
weichi··on Ask HN: Advice on getting over romantic rejection? It's killing my startup
Just ignore everything she said.

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.

weichi··on Ask HN: Advice on getting over romantic rejection? It's killing my startup
One classic bit of advice for getting over a breakup is to do something ... don't just sit around moping, find some activity to take on. A sport, taking a class (cooking, language, art, music, etc), volunteering, whatever. Ideally there will be women involved in the activity too ;-).

So my advice would be to dial back a little bit on the startup, and find some new non-work activity to take on.

weichi··on How (not) to write Factorial in Java
His Gamma function is even worse than I said above, because not only does it have a bug, it doesn't work at all for negative numbers, which was his big bolded complaint about the original implementation. I'm embarrassed that I didn't see this at first, because it should be really obvious - the approximation would be taking the square root of a negative number!

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?

weichi··on How (not) to write Factorial in Java
It's true that the "bad java programmers" version doesn't work for negative numbers, but that's actually much better than his version of gamma, which doesn't work for ANY numbers, since it has a bug:

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 ;-)

weichi··on Can you see the flag on the Moon with a telescope?
Two things.

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).

weichi··on The best Web Framework - what makes Lift different
Naive question here (I've worked on web apps, but it was using Java technology of the circa 2000 vintage, so my knowledge is quite limited).

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?

weichi··on Tarsnap critical security bug
But we're talking about generating a salt here. As I understand it, the reason you use a salt is to make it much harder to brute-force a dictionary of passwords ahead of time. I don't see how the use of a cryptographically strong PRNG is going to provide any additional security here.

What am I missing?

weichi··on Tarsnap critical security bug
A comment and a question:

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.

← PreviousPage 2 of 3Next →