Comment by siddboots

10 years ago

I feel as though your comment comes very close to "gratuitous negativity" of the type mentioned recently on the YC blog.

http://blog.ycombinator.com/new-hacker-news-guideline

Clearly, a blog post primer it is not an alternative to an encyclopedia article or a textbook chapter. Rather it provides something not fulfilled by either: a brief introduction to a technical subject that relies on very little prior knowledge.

I am sure that Jeremy is well aware of the challenges involved in writing in a style that is straight-forward without being "patronizing". Perhaps you don't like the balance that he has found, but is that a good enough reason to outright dismiss his efforts?

Lastly, much of the post is in fact a plain-language explanation of the Metropolis-Hastings algorithm, and he adds: "... if demand is popular enough, I could implement the Metropolis-Hastings algorithm in code"

I was really surprised to view the comments, and find the attitude expressed in the GP's post #1.

If anything, I read this and thought something along the lines of, "I wish some of the subjects I learned in college were explained this way, at least to start."

Now, I fully appreciate understanding fundamentals, and not black boxing things (see the ongoing framework debate posts), however I didn't read that article looking to be spoon fed a black box for ML or anything...I was just bored and curious. So it made for good reading.

Perhaps I'm generalizing too far, but it reminded me of when I was presented with the classic Lamport paper on "Time, Clocks, and the Ordering of Events in a Distributed System" in undergrad. This would have been around 2004. I had been working (i.e. coding for money) for some time by then, but back then, you could still build a lot with a relatively stock LAMP stack (or similar.) MongoDB, Riak, Redis, Cassandra, DynamoDB, etc. were not all commonplace (much less things you could have a cluster ready to play with by means of a simple 'vagrant up'.) So when I was given the paper, without much context, I had a hard time really "getting it", or how it applied to me. I'm pretty sure I eventually got some commentary on it from the professor in class, while hurriedly going through powerpoint slides, probably anxious to get back to his research. Then a test question or two about it later.

Years later, after working more, and "distributed systems" becoming more of a tangible thing, I re-visited it, and it made more sense. Anyway, my point is that had I gotten some sort of a, "and here's what the paper is talking about, and how it applies to something tangible, in plainspeak", it would have been useful - so we shouldn't groan about an article like this. Someone out there is going to understand the subject much better thanks to that post.

[Note to the reader that's very familiar with the vector clocks paper - I realize it's not written with that much jargon, and DOES do a decent job in the introduction section of using plain language, but the purpose was just lost on me. I mean, it makes reference to ARPA Net, and then goes on to determining event ordering. It just didn't equate to any thing in my world view, and I had done a decent bit of multi-threaded/process programming by then too.]

  • It would get a better reception without the intro paragraph and if it were titled "an introduction to Metropolis Hastings." The post really doesn't even give you a taste of the most common MCMC algorithms, and what they are useful for.

    For instance, sampling from complicated Bayesian models, and Gibbs sampling are the two most important things to introduce to roughly cover MCMC and those are in the paragraph he calls "bullshit" because he doesn't know the words.