Zürich, Zurich, Switzerland
Riccardo's education and expertise build upon his passion for algorithms and systems modelling. During his professional experience he has embraced with enthusiasm both academic and consulting projects. In his free time Riccardo enjoys skiing and cooking marathons.
Hexagon stickers have become a popular way to make software tools, and R packages in particular, visually recognizable and stand out as landmarks in an ever-growing ecosystem. In general, good hexagon logos are not only visually appealing but also convey the key aspects of a package with their graphical design.
In this talk, we will showcase rTRhexNG (https://github.com/miraisolutions/rTRhexNG#readme), a Shiny app built for creating the hexagon sticker of the rTRNG (https://github.com/miraisolutions/rTRNG#readme) package. The core idea behind the logo was to have an appealing design that would at the same time illustrate the key features of the package: jump and split operations on (pseudo-)random sequences. Leveraging on the simple yet powerful SVG image format, R was used to automate the creation and location of several visual elements representing random sequences, and a Shiny app was built on top to quickly assess different designs in an interactive way.
We demonstrate the Shiny app in action to concretely explain what jump and split mean in rTRNG, and show how the sticker design naturally emerges from their visual representation. The power of this interactive yet automated approach was invaluable to fine-tune the final look of the sticker, also allowing to easily explore alternative polygon or circle designs the implementation naturally extends to.
If you are looking for a hands-on introduction to CI/CD pipelines with a structured approach to collaborative development, this is the workshop you are looking for. To get your head around pull requests and branches, travis.yml files, workflows and processes for controlled development and deployments using free open source tools, all you need is your laptop (with R 3.6.x, RStudio and Git installed), a GitHub account and joining us.
In this hands-on 3-hours session we will:
- highlight the benefits of versioning your R code with Git and GitHub;
- show how to set up automated controls of your development on Travis CI, leveraging unit tests and R’s built-in package checks for Continuous Integration (CI);
- discuss effective branching models, pull requests and branch protection on GitHub, an approach especially important in a collaborative environment;
- demonstrate how to set up Continuous Deployment (CD) of packaged applications via Travis CI.
A simple R package with a Shiny app will be used as a running example to lay out a full workflow for stable, secure, reproducible deployments and releases.