Publications by Jeroen Ooms
OpenCPU 1.0 release!
After more than 3 years of development, we release the first official version of the OpenCPU system. Based on feedback and experiences from the beta series, OpenCPU version 1.0 has been rewritten entirely from scratch. The result is simple and flexible API that is easier to understand yet more powerful than before. With the new release also comes...
2742 sym R (1570 sym/7 pcs) 2 img
Knitr/Markdown OpenCPU App
A new little OpenCPU app allows you to knit and markdown in the browser. It has a fancy pants code editor which automatically updates the output after 3 seconds of inactivity. It uses the Ace web editor with mode-r.js (thanks to RStudio for making the latter available). Like all OpenCPU apps, the source package lives in the opencpu app repo on gi...
1050 sym R (161 sym/1 pcs)
Implementing a DPU with OpenCPU
One of the prime use cases in the design of OpenCPU has been the “Data Processing Unit”, for short: DPU. A DPU is a modular, stateless data I/O unit which is called remotely by other software. In the OpenMHealth architecture a DPU must use JSON for data input and output, and is called over HTTPS. Below two simple examples. Basic example Suppo...
3129 sym R (696 sym/5 pcs) 2 img
Calling R functions through AJAX using opencpu.js
The opencpu.js library builds on jQuery to call R functions through AJAX, straight from the browser. This makes it easy to embed R based computation or graphics in apps. Moreover, asynchronous requests (which are native in Javascript) make parallelization a natural part of the application. This post introduces some of the basic features of the li...
5789 sym R (1540 sym/7 pcs) 2 img
Remotely use R packages on Github through OpenCPU
Any R package on Github can be used remotely on OpenCPU through the /ocpu/github/ API. Users on the internet can browse code, objects, help pages, or call functions in the package without having to learn R or install it on their local machine. Thereby you can make your method, algorithm, plot or DPU more accessible outside the R community. For ex...
3613 sym R (714 sym/3 pcs) 2 img
OpenCPU Release 1.0.4
OpenCPU version 1.0.4 was released to CRAN and Launchpad this week. This release brings some bug fixes/improvements and no breaking changes so you can safely upgrade your 1.0.x installations. Upgrade an existing OpenCPU cloud server using: sudo apt-get update sudo apt-get upgrade Or to install the latest version of the OpenCPU local single-user...
2692 sym R (132 sym/2 pcs) 2 img
The RAppArmor Package: Enforcing Security Policies in R Using Dynamic Sandboxing on Linux
An article called The RAppArmor Package: Enforcing Security Policies in R Using Dynamic Sandboxing on Linux has appeared in the latest volume of he Journal of Statistical Software: http://www.jstatsoft.org/v55/i07. The RAppArmor package is one of the foundations of the OpenCPU framework. It protects against malicious use and excessive use of hard...
2863 sym R (1034 sym/3 pcs) 2 img
Continuous Integration with OpenCPU
Starting version 1.0.7, the OpenCPU cloud server adds support for continuous integration (CI). This means that Github repositories can be configured to automatically install your package on an OpenCPU server, every time a commit is pushed. To take advantage of this feature, it is required that: Your R source package is hosted on Github. The name...
3364 sym R (40 sym/1 pcs) 4 img
New package: jsonlite. A smart(er) JSON encoder/decoder.
This week we released a new package on CRAN: jsonlite. This package is a fork of RJSONIO by Duncan Temple Lang and builds on the same parser, but uses a different mapping between R objects and JSON data. The package vignette goes in great detail and has many examples on how JSON data are converted to R objects and vice versa. To try it: #install ...
3505 sym R (730 sym/4 pcs) 2 img
OpenCPU 1.2: Flexible and reliable R function RPC over HTTPS + JSON
Earlier this week, OpenCPU 1.2 was released. This release uses the new jsonlite package for JSON conversion, which puts in place the final fundamental piece of the OpenCPU framework. This post describes what has changed, why this is important, and how to upgrade. From here, no major changes in the OpenCPU API are planned for quite a while, so tha...
4014 sym R (1502 sym/6 pcs) 2 img