r

tinytest2JUnit: report your tinytest results in the CI

tinytest2JUnit: report your tinytest results in the CI Introduction “Lightweight is the right weight” is the motto of packages adhering to the tinyverse principle. One of the packages following this principle is the tinytest package, a zero-dependency unit testing framework. It is a nice alternative to the heavy-weight testthat testing framework, which (at the time of writing and including its recursive dependencies) has a dependency footprint of 30 packages!

Continue reading

ShinyProxy 3.1.0

ShinyProxy 3.1.0 Last year we released a major update of ShinyProxy, bringing High Availability, Scaling, App parameters, improved integration with Kubernetes and much more. Today’s release goes even further, bringing Pre-Initialization, Container sharing and even a new container backend. Along with these major features, the release is packed with numerous small improvements. ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise or larger organizations. Nevertheless, ShinyProxy is also an excellent choice for deploying a handful of apps in smaller organizations.

Continue reading

ShinyProxy 3.0.0

ShinyProxy 3.0.0 Today we release version 3.0.0 of ShinyProxy, providing improvements on all aspects of using and deploying ShinyProxy. ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise or larger organizations. Nevertheless, ShinyProxy is also an excellent choice for deploying a handful of apps in smaller organizations. While ShinyProxy is generally used to host Shiny applications, it has always been designed with the idea to host any application that can be packaged into a Docker container.

Continue reading

Spreadsheets and robust backends: a love story?

The source of every data science project is a dataset or even multiple. In general, scientists prefer to share data using a spreadsheet. This allows to quickly explore, enter and modify data. Software developers on the other hand, prefer to build around properly designed schemes and backends that ensure data integrity. Whoever wins this battle decides where the data is stored: in a type of spreadsheet file or in some kind of database.

Continue reading

Complete monitoring stack for ShinyProxy on Kubernetes

Introduction For some time now, ShinyProxy is able to export metrics using Prometheus. After releasing this feature, we provided a dashboard for Grafana to visualize these metrics. Although this provides a good basis to build a monitoring setup around ShinyProxy, it does not provide insights in logs or resource usage of individual apps. To fill this gap, we are publishing a GitHub repository containing a comprehensive monitoring set up for ShinyProxy on Kubernetes.

Continue reading

New nonlinear least squares solvers in R with {gslnls}

Introduction Solving a nonlinear least squares problem consists of minimizing a least squares objective function made up of residuals $g_1(\boldsymbol{\theta}), \ldots, g_n(\boldsymbol{\theta})$ that are nonlinear functions of the parameters of interest $\boldsymbol{\theta} = (\theta_1,\ldots, \theta_p)'$: $$ \boldsymbol{\theta}^* \ = \ \arg \min_{\boldsymbol{\theta}} \frac{1}{2} \Vert g(\boldsymbol{\theta}) \Vert^2 $$ In the context of regression, this problem is usually formulated as: $$ \begin{align} \boldsymbol{\theta}^* & \ = \ \arg \min_{\boldsymbol{\theta}} \frac{1}{2} \Vert \boldsymbol{y} - f(\boldsymbol{\theta}) \Vert^2 \\ & \ = \ \arg \min_{\boldsymbol{\theta}} \frac{1}{2} \sum_{i = 1}^n (y_i - f_i(\boldsymbol{\theta}))^2 \end{align} $$

Continue reading

Rotating log files in Rust, and reassembling them for inspection

Context Open Analytics is working on a huge data processing pipeline in the context of high-content imaging. The latest work to this end is a new product that will work in conjunction with Phaedra as part of the pipeline which now covers much more ground than before. The entire backend of this new component is written in Rust and consists of several web servers. Proper log rotation has been a focus as of late, since it is critical to be able to keep on top of things in this massive processing pipeline.

Continue reading

ShinyProxy 2.6.0

ShinyProxy 2.6.0 Today we release version 2.6.0 of ShinyProxy which includes over forty improvements. ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise or larger organizations. Nevertheless, ShinyProxy is also an excellent choice for deploying a handful of apps in smaller organizations. While ShinyProxy is generally used to host Shiny applications, it has always been designed with the idea to host any application that can be packaged into a Docker container.

Continue reading

RDepot 1.4.3

100% Open Source Enterprise Management of R Repositories RDepot is a solution for the management of R package repositories in an enterprise environment. It allows to submit packages through a user interface or API and to automatically update and publish R repositories. Multiple departments can manage their own repositories and different users can have different roles in the management of their packages. package submission through a user interface and via the REST API modern, mobile-friendly interface to browse packages and repositories authentication and fine-grained authorization with repository roles (administrator, repository manager, package manager, user) full versioning of repositories and audit trails for use in regulated contexts built-in support for load-balanced package repositories integration with continuous integration infrastructure for quality assurance on R packages What’s new in this release?

Continue reading

ShinyProxy 2.4.0

ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise or larger organizations. Full Kubernetes Support One of the main advantages of ShinyProxy is the use of plugable container back-ends which allows people to use ShinyProxy on a plain Docker host, on a Docker Swarm cluster or on internet-scale Kubernetes cluster in the cloud. The way organizations have been deploying ShinyProxy on Kubernetes clusters has grown exponentially and providing a means to configure ShinyProxy tailored to the specific Kubernetes setup became more important.

Continue reading