HNHacker News
TopNewBestAskShowJobs

lliiffee

966 karma · joined April 1, 2008

Working on machine learning and computer vision.
submissionscomments
lliiffee··on Facebook doesn't like privacy countermeasures
The Ghostery plugin can handle all this stuff easily.
lliiffee··on Machine learning algorithm benchmarked in Matlab, R and Scala
I've found Matlab to consistently outperform numpy (the gap growing in recently releases adding multithreading supprt to Matlab), and the C++ interface is pretty much equally convenient. (Weave is awesome for python, but only really usable in small toy problems.)
lliiffee··on How did academic publishers acquire these feudal powers?
Ah, sorry I misunderstood your question.

To answer your actual question, I personally do it because I almost wish the journals would do something nasty to me. Then, I would tell everyone I meet at every conference about that for the next few years and would hasten the decline of the current status-quo.

lliiffee··on How did academic publishers acquire these feudal powers?
Credibility. Reading a mathematical paper takes a huge amount of effort, and people won't go through that unless there is a high chance to believe the paper is good/correct. Usually this is determined by 1) The author is famous 2) The journal is respected.
lliiffee··on PyPy 1.6 Released - Full Python 2.7.1 Implementation
It isn't exactly common subexpressions. Basically the problem is things like matrix multiplies always get unrolled.

I've used lots of operator overloading based autodiff packages for C++. They are great, but the issue is not how the function is recorded (I used operator overloading myself in my python package) but how it gets executed at runtime. Unless a compiler (or JIT) is called sometime between when the operator overloading happens and execution happens, the function is basically being interpreted at runtime. This is what happens in, e.g. ADOL-C, SACADE, and CPPAD, all of which come with a significant (e.g. 20x) performance penalty as compared with hand-written derivatives.

lliiffee··on PyPy 1.6 Released - Full Python 2.7.1 Implementation
Awesome. Am I right in understanding that LLVM IR should be LLVM IF or LLVM assembly? The generated code is most extremely simplistic. An example would be:

  A[12800]=A[0] * A[6400];
  A[12801]=A[1] * A[6480];
  A[12802]=A[12800] + A[12801];
  A[12803]=A[2] * A[6560];
  A[12804]=A[12802] + A[12803];
  A[12805]=A[3] * A[6640];
Which would be very easy to deal with. The only problem is that I sometimes call out to libraries for exp, log, sin, cos, etc.
lliiffee··on PyPy 1.6 Released - Full Python 2.7.1 Implementation
LLVM would seem to (maybe? possibly!?) be a good solution, but I was never able to convincingly determine if it was likely to solve my problems, and the documentation seemed to be quite sparse for doing what I wanted to do. (This was a couple years ago, however, and I've love to be proven wrong.)
lliiffee··on PyPy 1.6 Released - Full Python 2.7.1 Implementation
For being offhand, those are very good guesses! Dual numbers won't be efficient, as I want reverse-mode autodiff.

As to the multiple procedures: Well, as I was doing it, even a single procedure can be many hundreds of megabytes large. Even for very very simple code, however, I noticed that GCC was superlinear in code size. I suppose I could somewhat arbitrarily break up the code into arbitrary functions. I wonder if that would speed things up?

Other autodiff tools: Well, they basically trace execution, but then run an interpreter instead of trying to actual generate compiled code. I wanted to both be faster than that and have the wonderful experience of writing pure python...

lliiffee··on PyPy 1.6 Released - Full Python 2.7.1 Implementation
Can I take advantage of this thread to ask the HN crowd a technical question? Some time ago, I implemented an automatic differentiation tool. Using operator overloading on a special "autodouble" type the tool would trace the execution of a block of numerical code. Then, some calculus would automatically happen, and it would output and compile fast c-code that would compute the original function and derivatives in pure c. This was great, except the c-code that was output was freaking gigantic (like hundreds or thousands of megabytes) albeit very simple, and so the c compiler would take forever to run. Sigh.

My question is: could I leverage pypy somehow to avoid this? Can I output RPython? Can I output whatever RPython is compiled down to instead? Can I do this with no more than, say, a 3x penalty compared to c?

(I apologize for asking a question only marginally related to the particular article here...)

lliiffee··on How I decided the price for my Japanese candy subscription service
My guess is that shipping costs could be reduced substantially if the number of subscribers in a country/region gets very big: send one large package and have them shipped individually from there.
lliiffee··on Warrantless "emergency" surveillance by DOJ up 400%
Wow-- this is an increase from 17 in 2008 to 91 in 2009. I would have guessed that both were several orders of magnitude higher.
lliiffee··on Throwing dice gets to the truth about killing leopards
You are right. The "signal to noise" will be terrible if the rare behavior is much less likely than the random event. The only "statistical" solution would be to calibrate things by making the random event similarly unlikely. (e.g. one could use a 100 sided die.) If this statistical solution destroys the psychological advantage of the whole thing, I don't know!
lliiffee··on The Moment Of Truth For Airbnb As User’s Home Is Utterly Trashed
In this case, wasn't a door broken in order to steal the jewelry? I'd assume most people take at least this level of precaution...
lliiffee··on Thanks, HN Here are the vocab survey results from all your participation
You could always make another graph that includes confidence intervals! (Please)
lliiffee··on How does Google pay 2.4%?
I worry that the maximum income multiplier would have distortive effects. For example, if all my employees make high salaries, I would have a strong incentive to hire a company that provides janitorial services, rather than hire a janitor in house. (Which is presumably more efficient, as most firms do that in the current structure.)
lliiffee··on Estimate your English vocabulary size
They ought to include some fake but plausible words to correct for cheaters. (Perhaps they do?)
lliiffee··on Bidding Adieu to Amtrak?
This is true, but note that streetcars also got shut down in cities where the car companies didn't play these games.
lliiffee··on Autodidactism for the chronically lazy and hyperactive
I'd love to hear about specifically what habits you find useful.
lliiffee··on The pitfalls of jargon and the damage it does to mathematics
Thank you thank you thank you!
lliiffee··on The pitfalls of jargon and the damage it does to mathematics
This is slightly off-topic, but I noticed that you did work on stochastic optimal control. Do you have any books you would recommend on the subject (either optimal control or stochastic optimal control)? Ideally as good as Halmos. :)

I come from a physics/cs background, and find that standard treatments of control are very much intended for EE folks. But this seems like a historical accident-- the techniques would seem to be very broadly useful in other fields.

lliiffee··on The pitfalls of jargon and the damage it does to mathematics
About Halmos, that is quite scary. I happened to be reading "Finite-Dimensional Vector Spaces" the last few days and while the material is pretty elementary, Halmos is obviously very good, and the idea that there are people leagues ahead of him is amazing...
lliiffee··on An Introduction to Data Mining
Can you explain why you feel that way?
lliiffee··on CEOs say California worst place to do business, Texas best
The benefit has nothing to do with trade, though. It happens simply because taxes are lowered. We could grow the economy in exactly the same way by just eliminating taxes on corporation A, without the corporation moving to Bermuda. Therefore, we may view the moving aspect as zero-sum.
lliiffee··on New Zealand Government Rushes Through Controversial Anti-Piracy Law
You can also work on risk part of the equation, of course.
lliiffee··on New Zealand Government Rushes Through Controversial Anti-Piracy Law
The reason the fines are so high is that risk of getting caught is infinitesimal. This is the same reason they had to raise fines for honking in NY in non-emergencies to $500 to get people to stop. The appropriate fine should be something like

(damage to society) <= (fine) * (risk of getting caught)

lliiffee··on Pizza And Ramen Are Hurting Your Startup
I've recently discovered the secret to frozen vegetables: put them in freezer bags. The bags the vegetables come in don't prevent freezer burn, so the vegetables taste terrible after a couple weeks. In freezer bags, you have a huge range of vegetables that are available to you for months.
lliiffee··on Trimensional: 3D Scanner for iPhone
It looks like it is just sending a total blank white screen while it takes a picture. Sure you can change the intensity-- use a gray pixel instead of a white one.
lliiffee··on Trimensional: 3D Scanner for iPhone
Looks like it just uses the reflected intensity to estimate the depth, then pastes the original colormap on top of that? Incredibly clever and simple hack.
lliiffee··on New Advice On How to Survive Nuclear Attack
This link might work:

http://news.google.com/news/url?sa=t&ct2=us%2F0_0_s_0_0_...

lliiffee··on Speed-Freak Football
Here is a link that you might be able to use to avoid the user-login wall.

http://www.google.com/url?sa=t&source=web&cd=1&v...

← PreviousPage 3 of 12Next →