Publications by Jeroen Ooms

Parsing multipart/form-data with webutils

29.10.2014

As part of a larger effort to clean up and rewrite the opencpu package, some of the more general utilities will be moved into a new, separate package called webutils. The first release of webutils is now on CRAN. The package contains a simple http request body parser that supports application/x-www-form-urlencoded, multipart/form-data, and applic...

1209 sym R (45 sym/1 pcs) 2 img

High performance JSON streaming in R: Part 1

05.11.2014

The jsonlite stream_in and stream_out functions implement line-by-line processing of JSON data over a connection, such as a socket, url, file or pipe. Thereby we can construct a data processing pipeline that can handle large (or unlimited) amounts of data with limited memory. This post will walk through some examples from the help pages. The json...

3207 sym R (875 sym/6 pcs) 2 img

OpenCPU release 1.4.5: configurable webhooks

09.11.2014

OpenCPU 1.4.5 is a patch release that improves performance by taking advantage of latest versions of jsonlite, devtools, knitr, openssl, etc. Also new in this release is the option to pass build parameters for deploying on ocpu.io (or your own opencpu server) using the github webhook. As usual, server binaries for Ubuntu, Fedora and Suse are avai...

2140 sym R (136 sym/2 pcs) 2 img

New package: curl. High performance http(s) streaming in R.

21.11.2014

A bit ago I blogged about new streaming features in jsonlite: library(jsonlite) diamonds2 <- stream_in(url("http://jeroenooms.github.io/data/diamonds.json")) In the same blog post it was also mentioned that R does currently not support https connections. The RCurl package does support https, but does not have a connection interface. This bothered...

2978 sym R (656 sym/5 pcs) 2 img

New features in jsonlite 0.9.14

04.12.2014

The jsonlite package implements a robust, high performance JSON parser and generator for R, optimized for statistical data and the web. This week version 0.9.14 appeared on CRAN which adds some handy new features. Significant Digits By default, the digits argument in toJSON specifies the number of decimal digits to print: toJSON(pi, digits=3) # [...

1652 sym R (415 sym/6 pcs) 2 img

Introducing V8: An Embedded JavaScript Engine for R

16.12.2014

JavaScript is an fantastic language for building applications. It runs on browsers, servers and databases, making it possible to design an entire web stack in a single language. The OpenCPU JavaScript client already allows for calling R functions from JavaScript (see jsfiddles and apps). With the new V8 package we can now do the reverse as well: ...

2456 sym R (1026 sym/5 pcs) 2 img

Interactive JavaScript in R with V8: a crossfilter example

23.12.2014

In last weeks blog post introducing the new V8 package I showed how you can use context$eval and context$source to execute commands and scripts of JavaScript in R. It turns out that typing context$eval() for each JavaScript command gets annoying very quickly, so the new V8 version 0.3 adds an interactive console feature that works very similar to...

2127 sym R (660 sym/5 pcs) 2 img

OpenCPU release 1.4.6: gzip and systemd

29.12.2014

OpenCPU server version 1.4.6 has been released to launchpad, OBS, and dockerhub (more about docker in a future blog post). I also updated the instructions to install the server or build from source for rpm or deb. If you have a running deployment, you should be able to upgrade with apt-get upgrade or yum update respectively. Compression This rele...

3503 sym R (137 sym/1 pcs) 2 img

New in openssl 0.3: hash functions

09.01.2015

This week version 0.3 of the openssl package appeared on CRAN. New in this release are bindings to the cryptographic hashning functions in OpenSSL. Not exactly ground breaking (hashing functions have long been available from digest) but nice to have anyway. An overview from the new vignette: Hashing functions The functions sha1, sha256, sha512, m...

1419 sym R (1033 sym/5 pcs) 2 img

curl 0.4 bugfix release

10.01.2015

This week curl version 0.4 appeared on CRAN. This release fixes a memory bug that was introduced in the previous version, and which could under some circumstances crash your R session. The new version is well tested and super stable. If you are using this package, updating is highly recommended. What is curl again? From the manual The curl() func...

1423 sym R (753 sym/3 pcs) 2 img