Friday, July 23, 2010

Help port R to the BeagleBoard / Angstrom for $1,000

Ok... I've been fooling around with the BeagleBoard for some time now, and I have a couple observations to make. First of all, it's crazy powerful. You can do a lot more than you'd expect, since the processor is so fast. I mean, seriously, it's faster than most Android handsets out there. So every app that could run on an Android phone can run on the BeagleBoard (in theory).

The BeagleBoard has full Linux programming libraries, Makefile, gcc, perl, you name it, built in, and that makes programming a cinch in most cases. However.... some of my favorite applications on Linux are a little harder than others to port to the BeagleBoard. Including R, for instance. R is a statistical programming package that a lot of people use in the government and military and NSA to do advanced signal and data processing. I've been learning it in my spare time, and I think it would be really cool to have a portable version of it on a handheld.

I tried to get it running on my BeagleBoard, but alas, I'm not much of a software guy (I'm much more hardware). I failed to get past some of the java lib dependencies, and don't know how to install those on Angstrom without totally recompiling everything. I was over at MIT this past week, just reading in the QA stacks library (I sneak in from time to time and just camp out there for hours with Chris), and we started talking about how whether it was doable. Chris bet me $500 that I could do it. Then I joked, well I'll bet $500 that I can't.

$500 + $500 = $1,000

I would pay $1,000 in real dollars (not gift certificates and useless things like that, I mean actual cash) to the first person who can demonstrate it running, and provide links to either a tar, or zip, or image, so I can get it up and running on my own too. The solution has to be open source, and publicly shareable.

Personally, I think it's impossible. That's why I'm saying $1,000 and not like $200 or something like that. But even I'm somewhat realistic, so here's a list of "anti-conditions":

  • R has a lot of built in libraries that do graphing, visuals, etc. it doesn't need to do any of that stuff
  • Command line only is fine, no need for to port the GUI, I don't even know if that's possible
  • Obviously it should run whatever can be run within the memory limits of the BeagleBoard in RAM, and that will probably mean some of the base packages won't auto-load
  • It should at least have a basic R command line, and be able to instantiate arrays and user defined functions, etc.

I don't really want to call this a "contest" because it's not, it's just a $1,000 check that I'll write if someone can help me port R to the BeagleBoard... if it's even possible.


Matt said...

ha ha - mike just emailed me saying I shold offer $10,000 to anyone who ports R to the arduino. well, first of all, i don't have that kind of money laying around. and second of all, that is absolutely positively impossible...

Koen Kooi said...

Give this a try:

That was built for angstrom unstable, you can generate a matching rootfs using narcissus if needed.

Matt said...

ok ok wait i'm going to try as soon as i get home... that is seriously impressive time though if it works...

Brian Herman said...
If you had ubuntu running it might work better?

Matt said...

hey it's matt... i just confirmed koen's solution. that was literally record timing.

ok, i'm going to take a couple videos, and then post tomorrow showing koen as the winner.

@brian - interesting idea, i have mostly used angstrom. i'm going to try that out later this week, to see if it might help...