While building Surfiki, our real-time data intelligence engine, we realized that the logic contained in any number of natural language processing (NLP) and machine learning (ML) binaries is locked up on a server, with no access to the web. What if we could pass input parameters to a binary and express the output as JSON via a RESTful endpoint?
Say hello to REBIN.
REBIN was created to facilitate a simple method of exposing CLI applications–regardless of their language–to the web. Much of our current NLP and ML research is written in C and C++ because these languages offer the advantages of speed and scale.
But REBIN isn’t limited to compiled executables: as long as you can flag a script with +x
you’re good to go! This means it’s easy to expose your R, Python, and Ruby libraries to an instant web service. With REBIN, we’ve included a visual dashboard where you can define your endpoints and executables. It’s trivial to create an endpoint:.think of REBIN as an instant web service for any binary or script.
REBIN is built on node.js and redis by Anthony Nyström and Jeff Baier. Hit us up on Twitter if you have questions or ideas, and grab the source on GitHub right now!