Blog

ShinyProxy 3.2.0

We’re happy to share that ShinyProxy 3.2.0 is now available. This release focuses on a range of small but meaningful improvements aimed at making ShinyProxy easier to use. Debugging issues is now easier than ever, thanks to clearer error messages and improved error handling. The documentation has been extended with more background information (allowing you to better understand how ShinyProxy works) and additional troubleshooting information. During the last months, we’ve noticed that the adoption of ShinyProxy has been rapidly growing.

Continue reading

Hash-tag baby

Introduction Naming a baby can be a difficult task. It can take - soon to be - parents quite some time to align on a name they both like. Afterwards it can also be challenging to keep the name a secret until birth. If you are lucky, there might be some close friends or colleagues who are simultaneously expecting a child. It can be an unique occasion where you can share experiences.

Continue reading

checkglobals: an(other) R-package for static code analysis

Introduction An important aspect of writing an R-script or an R-package is ensuring reproducibility and maintainability of the developed code, not only for others, but also for our future selves. The modern R ecosystem provides various tools and packages to help organize and validate written R code. Some widely used packages include roxygen2 (for function documentation), renv (for dependency management and environment isolation), and testthat, tinytest and Runit for unit testing[1].

Continue reading

Getting started with Crane

As the Common Crane (Grus grus) is migrating back to their breeding area, it’s time to set up your own Crane server. Crane is a new open source product to host data science artifacts: data analysis reports, documentation sites, packages and libraries, you can read the introduction blog post here. This post provides a simple setup to get started with Crane using Docker Compose. First of all, make sure to install Docker and Docker compose.

Continue reading

Crane 1.0.0 released!

Publishing is an integral part of the data analysis process. Whether it’s in the form of code, reports or technical documentation, at some point artifacts need to be shared. More often than not, such artifacts are confidential and their access needs to be properly secured. There exist solutions for at least some types of artifacts, but we needed one simple tool that could help us with all the use cases we encounter in our daily practice, built with modern technology and security standards.

Continue reading

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