Hey, I agree with a lot of what you are saying here, but it seems unfair to cherry-pick a single method like you are doing here. There's a lot of confusing JavaScript out there, too.
HN user
samg_
In case this comment dissuades others from checking out Dr. Koller's class, I will add that I found her class challenging and well-constructed. I recommend it.
Google's Closure Compiler
I've taken Andrew Ng's Machine Learning class, Daphne Koller's Probabilistic Graphical Models class, Dan Jurafsky and Christopher Manning's Natural Language Processing class, and currently Geoff Hinton's Neural Networks class.
I have spent a lot of time on Khan Academy to learn the calculus. In my experience you can get by with a surprisingly small amount of calculus, but it happens to be a small amount from a high level.
For example, backpropagation is just repeated application of the chain rule. Did take a while to get a handle on the derivatives, but it's worth it.
A year ago, I would have no idea what this was about. I'm very thankful that I live in a world where I can take high quality classes from Coursera that have given me the foundation to at least understand the abstract. :)
If I have learned anything from ml-class, pgm-class, nlp-class, and now neural-nets, is that becoming a data scientist is one of the hardest things I'll ever eventually succeed in doing.
Yeah, I did a few trial runs on the cluster gpu instances maybe 4 months ago. I found that, while the gpus themselves were really quite fast, moving data in and out of gpu was not. Maybe amazon will focus on increasing bandwidth to the gpu for the new boxes.
"The numbers are, of course, averages. So parents may spend much more time, say, caring for children, while people without children will spend no time at all."
Stuffed at the bottom, of course. Averages lie!
I don't think that would be a classifier, or at least not reasonably. You could have "In Soviet Russie X Y you" for each X,Y as your classes, but that would be unreasonable.
Yakov Smirnoff is a structural joke. You would need to parse sentences, pattern match, transform it, and then do some kind of regression on the phrase to get its humor quotient.
The Stanford Parser for structural parsing, then some custom pattern matching and transforming code, might get you somewhere.
It's in a very early stage (not production ready), but some colleagues and I have been working on a automated testing DSL built on top of RSpec that lets you generate API documentation from tests which validate the documentation is correct. It requires RSpec and a Rack-compatible service (incl. Rails). I think the idea has legs.
Just upgrading to rspec 2.8 made my test suite run 10x faster. You might have David to thank for a lot of that speed up. :)
For me, one of the biggest obstacles to understanding lots of Haskell code is opaque infix operators.
It would require an Internet connection, but GPS + some weather API would do.
I am just learning some of these machine learning tools and am rapt, so forgive me for asking, but would you be able to explain a little about what you are doing?
How are you generating features? Stanford parser? Are you using logistic regression or something more advanced?
I love the idea. I am interested in applying some of these concepts myself. Do you have any ideas that you are not able to pursue yourself, that I might take a crack at?
I would happily use G+ as my blog for programming related things, but I would need to be able to make posts public and not spam my non-technical circles. Is that possible?
There's a lot of room to grow here. Mostly the choices in channels are limited. I think that if people could write and share channels through some API, a ton of use cases could pop up.
This reminds me of Yahoo Pipes, but with webhooks instead of pubsub. Although, it seems they are using polling instead of webhooks.
It's so important to evaluate whether you need range queries before picking a tech like Riak.
They are coming, though. That's what I hear, at least.
You are right about query languages being a good for for monad comprehensions. See Torston Grust's dissertation[1], specifically "Combinators from Monad Comprehensions."
1. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.88.9...
Last week I spent 17.5 hours in MacVim, 7 hours in a shell, and 2 hours on Github. That's out of 42 total recorded hours. On a related note, I love RescueTime.
There is a great post on the macports mailing list that identifies and explains some issues installed software might have after upgrading:
http://lists.macosforge.org/pipermail/macports-dev/2011-July...
I got bit by the Libc part, and I bet a lot of homebrew users will be as well. FWIW, on macports svn at least, these issues are resolved.
1. Ad hominem 2. Begging the question 3. Unsubstantiated generalization 4. Mis-quote 5. Misunderstanding the original comment
I don't necessarily agree with Myhrvold, but I don't think this guy is giving him enough credit.
The problem Myhrvold gives is real: large companies with lots of resources can, if they choose to, steal your idea and try to compete. This problem comes up on HN periodically, and I think the canon is to simply have the better product. I would call this playing field more level than the one where entrepreneurial teams can't compete at all.
I've been playing with some clustering stuff in my free time for the past few months.
What I've found is that the problem seems to get a lot more reasonable if you know how many clusters there are.
K-Means requires this information, but afaict agglomerative techniques don't. I wonder why this tool's agglomerative clustering method requires the number of clusters as an argument.
I didn't meant to say that Donut was itself a mapping from data to representation, just that there is some kind of mapping somewhere. I absolutely agree that Donut should not be concerned with its representation(s).
In Flex, this is managed by a 2-part view consisting of the collection view (List) and the item view (ItemRenderer). When creating the List you pass it its data provider (oft. ArrayCollection) and its ItemRenderer.
Perhaps this example could benefit from a similar separation.
Contrived examples like this have a problem, where the code example is too complex compared to the very simple task, in this case keeping a HTML list populated with items from a JS object.
I have used binding mechanisms in the Flex framework, which act in a similar way. The model object dispatches events which the view listens to and updates its own representation. In Flex the model object is often an "ArrayCollection," in this example, "Donuts." In Flex the view would often be some kind of "List" object, in this example, "DonutCollectionView."
The Donut aspect of this example is the contrived bit. It's just a generic list. Donut could just be any Object that maps to some kind of HTML representation. DonutCollectionView could just be a CollectionView, that passes along that representation to a HTML list.
The plumbing in this example is something I don't really want to write if I am using a framework. If I had to write it, I wouldn't write it like this. Am I misunderstanding something?
I find that it can be valuable in a GUI toolkit. If I want to change a small part of a UI component, I can subclass it, change what I want, keep the rest, and classes that used the old component can use the new one too, because of subtype polymorphism.
Composition can work for a lot of these problems too. It depends on the scale of the modification, I guess.
The fact that the subjunctive mood really only matters for one verb to me is an equally compelling argument that a) it's not a big deal that people forget and b) people should just remember it.
Navigation buttons: Back, Forward, Up, Top, etc.
Can you be more specific about the cluster membership testing? Sure it is based on some "distance" calculation, but how do you avoid long chain problems inherent to clustering algorithms? And to reiterate, do you need to know the number of clusters ahead of time?
This guy needs to watch Preston Sturges's "Sullivan's Travels."
What algorithm is used to get the centroid clusters? Do you need to know the number of clusters in advance? I am familiar with max-link/min-link/avg-link hierarchical algorithms, but not centroid related ones.