Articles by Jeroen Ooms

OpenCPU release 1.6

May 19, 2016 | Jeroen Ooms

Following a few weeks of testing, OpenCPU 1.6 has been released. OpenCPU is a production-ready system for embedded statistical computing with R. It provides a neat API for remotely calling R functions over HTTP via e.g. JSON or Protocol Buffers. The OpenCPU server implementation is stable and has been thorougly ...
[Read more...]

Stemming and Spell Checking in R

March 20, 2016 | Jeroen Ooms

Last week we introduced the new hunspell R package. This week a new version was released which adds support for additional languages and text analysis features. Additional languages By default hunspell uses the US English dictionary en_US but the new version allows for checking and analyzing in other languages ...
[Read more...]

Hunspell: Spell Checker and Text Parser for R

March 13, 2016 | Jeroen Ooms

Hunspell is the spell checker library used in LibreOffice, OpenOffice, Mozilla Firefox, Google Chrome, Mac OS X, InDesign, and a few more. Base R has some spell checking functionality via the aspell function which wraps the aspell or hunspell command line program on supported systems. The new hunspell R package ...
[Read more...]

OpenCPU Server Release 1.5.4

February 4, 2016 | Jeroen Ooms

Version 1.5.4 of the OpenCPU server has been released to Launchpad (Ubuntu) and OBS (Fedora). This update does not introduce any changes to the OpenCPU API itself; it improves to the deb/rpm installation packages and upgrades the bundled opencpu system R package library. Installing and Updating Existing Ubuntu and Fedora ...
[Read more...]

Commonmark: Super Fast Markdown Rendering in R

February 2, 2016 | Jeroen Ooms

A few months ago I first announced the commonmark R package. Since then there have been a few more releases… time for an update! What is CommonMark? Markdown is used in many places these days, however the original spec actually leaves some ambiguity which makes it difficult to optimize and ...
[Read more...]

The ‘rsvg’ Package: High Quality Image Rendering in R

January 24, 2016 | Jeroen Ooms

The new rsvg package renders (vector based) SVG images into high-quality bitmap arrays. The resulting image is an array of 3 dimensions: height * width * 4 (RGBA) and can be written to png, jpeg or webp format:
<span># create an svg image</span>
<span>library</span><span>(</span>svglite<span>)</span>
<span>library</span><span>(</span>ggplot2<span>)</span>
svglite<span>(</span><span>"plot.svg"</span><span>,</span> width <span>=</span> <span>10</span><span>,</span> height <span>=</span> <span>7</span><span>)</span>
qplot<span>(</span>mpg<span>,</span> wt<span>,</span> data <span>=</span> mtcars<span>,</span> colour <span>=</span> <span>factor</span><span>(</span>cyl<span>))</span>
dev.off<span>()</span>

<span># render it into a bitmap array</span>
<span>library</span><span>(</span>rsvg<span>)</span>
bitmap <span><-</span> rsvg<span>(</span><span>"plot.svg"</span><span>)</span>
<span>dim</span><span>(</span>bitmap<span>)</span>
<span>## [1] 504 720   4</span>

<span># write to format</span>
png<span>::</span>writePNG<span>(</span>bitmap<span>,</span> <span>"bitmap.png"</span><span>)</span>
jpeg<span>::</span>writeJPEG<span>(</span>bitmap<span>,</span> <span>"bitmap.jpg"</span><span>,</span> quality <span>=</span> <span>1</span><span>)</span>
webp<span>::</span>write_webp<span>(</span>bitmap<span>,</span> <span>"bitmap.webp"</span><span>,</span> quality <span>=</span> <span>100</span><span>)</span>
The advantage of storing your plots in svg format is they can be rendered later ...
[Read more...]

Compression Benchmarks: brotli, gzip, xz, bz2

November 26, 2015 | Jeroen Ooms

Brotli is a new compression algorithm optimized for the web, in particular small text documents. Brotli decompression is at least as fast as for gzip while significantly improving the compression ratio. The price we pay is that compression is much slower than gzip. Brotli is therefore most effective for serving ...
[Read more...]

Sodium: A Modern and Easy-to-Use Crypto Library

October 18, 2015 | Jeroen Ooms

This week a new package called sodium was released on CRAN. This package implements bindings to libsodium: a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Libsodium is actually a portable fork of Daniel Bernstein’s famous NaCL crypto library, which provides core operations needed to ...
[Read more...]

Curl 0.9.2: tweaks and proxies for windows

August 9, 2015 | Jeroen Ooms

Version 0.9.2 of curl has been released to CRAN. The curl package implements a modern and flexible web client for R and is the foundation for the popular httr package. This update includes mostly tweaks for Windows. Faster downloading Alex Deng from Microsoft had diagnosed a problem with curl_fetch_memory (...
[Read more...]

Mongolite 0.5: authentication and iterators

July 28, 2015 | Jeroen Ooms

A new version of the mongolite package has appeared on CRAN. Mongolite builds on jsonlite to provide a simple, high-performance MongoDB client for R, which makes storing small or large data in a database as easy as converting it to/from JSON. Have a look at the vignette or useR2015 ...
[Read more...]

OpenCPU Release 1.5

July 4, 2015 | Jeroen Ooms

Following a few weeks of testing, OpenCPU 1.5 has been released. OpenCPU is a production-ready framework for embedded statistical computing with R. The system provides a neat API for remotely calling R functions over HTTP via e.g. JSON or P...
[Read more...]

Secure password hashing in R with bcrypt

June 18, 2015 | Jeroen Ooms

The new package bcrypt provides an R interface to the OpenBSD ‘blowfish’ password hashing algorithm described in A Future-Adaptable Password Scheme by Niels Provos. The implementation is derived from the py-bcrypt module for Python which is a wrapper for the OpenBSD implementation. Bcrypt is used for secure password hashing. The ... [Read more...]

HTTPS for CRAN: how and why

June 13, 2015 | Jeroen Ooms

R gained some basic support for https in version 3.2.0 (see NEWS) via the method = "libcurl" argument in base functions download.file and url. The global option download.file.method is used to make this the default. Unfortunately the implementation has a few limitations: there is no way to set request ...
[Read more...]

The curl package: a modern R interface to libcurl

June 8, 2015 | Jeroen Ooms

TL;DR: Check out the vignette or the development version of httr. The package I put most time and effort in this year is curl. Last week version 0.8 was published on CRAN which fixes the last outstanding bug for Solaris. The package is pretty much done at this point: stable, ...
[Read more...]

New package commonmark: yet another markdown parser?

June 2, 2015 | Jeroen Ooms

Last week the commonmark package was released on CRAN. The package implements some very thin R bindings to John Macfarlane’s (author of pandoc) cmark library. From the cmark readme: cmark is the C reference implementation of CommonMark, a rationalized version of Markdown syntax with a spec. It provides a ...
[Read more...]

Getting started with MongoDB in R

May 14, 2015 | Jeroen Ooms

The first stable version of the new mongolite package has appeared on CRAN. Mongolite builds on jsonlite to provide a simple, high-performance MongoDB client for R, which makes storing and accessing small or large data as easy as converting it ...
[Read more...]
1 2 3 4 6

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)