10 eigenmaps of the United State: the talk.

(Source: youtube.com)

R debug broken?

Browse[2]> debug(keyf)
Browse[2]> keyf(drop.gather.rmr(w))
debugging in: keyf(drop.gather.rmr(w))
Error in keyf(drop.gather.rmr(w)) : could not find function "f1"
Browse[2]> ls(envir = environment(keyf))
[1] "f1"         "prev.group"
Browse[2]> eval(quote(f1), envir = environment(keyf))
function (.x) 
{
    .y = do.call(f, c(list(.x), list(...)))
    if (is.null(.y)) 
        NULL
    else {
...

If you try and debug keyf, f1 suddenly can not be found. But it’s still there. In the meantime, I need to debug a real bug that happens after f1 is invoked. No fair.

What bugs me is that things like these can not be fixed. We are stuck with them for as long as the language is around.

"It’s a difficult problem to solve, because you need to try all possible routes to find the minimum [P!=NP courtesy Revolutions Blog]"

Revolutions

"If x has length 1, is numeric (in the sense of is.numeric) and x >= 1, sampling via sample takes place from 1:x. Note that this convenience feature may lead to undesired behaviour when x is of varying length in calls such as sample(x). Just cost me half hour of my life."

R: Random Samples and Permutations

Dynamic vs static typing in real life

  • Excellent R developer: ... got stuck trying to figure out why vector_class() doesn't compile.
  • Excellent C++ developer: TYPEOF(subset) will only be known at runtime, so can't be in <>.

"For a long time I have thought I was a statistician" JW Tukey in "The future of data analysis”.

First accepted pull request to package (excluding tests). Woot!

"we’ve been behind several R initiatives, including the RHadoop project"

Revolution Analytics: the R company since 2007