3MW (Exciting News from posit::conf(2023))

Guten Tag!

Many greetings from Ulm, Germany. Last week, posit::conf(2023) happened and I was there. I had a blast as I met many new friends, people I got acquainted with over the internet and learned lots of new stuff. Oh and my own talk went well too.

Anyway, you’re probably not here to listen to me talking about how much fun I had. You probably want to know what’s the most exciting news from conf. So let me give you just that. But first, let me throw in two short announcements:

Raincloud plots - A video

I recently explained on this newsletter how raincloud plots work. Now there’s also a video version available on YT. Check it out here.

Course progress

A while back I announced that I would be creating a dataviz video course. Just like my YT videos they will be highly edited and fast pasted to make you into a dataviz pro in no time.

The announcement page is now online 🥳. If you’re interested in creating insightful data visualizations with {ggplot2}, check out the announcement and sign up for the course mailing list there.

And if you have any questions about the course, don’t hesitate to ask. Your question might be a great addition to the FAQ section. And now let’s dive into the newsletter.

glue() on steroids

One of the talks that just blew me away was Garrick Aden-Buie’s talk on the {epoxy} package. It’s a great tool for creating formatted texts. You can think of it as glue() but more powerful. glue() on steroids if you will.

With glue() it is super simple to spice up your text with data. But the result is not always ideal.

Of course, you can style the output but that requires some formatting.

Creating a formatter function and wrapping your outputs in this is tedious though. With {epoxy} you can style your output with simple keywords.

I think this will have huge applications in automated reports. But {epoxy} can also be used in Shiny apps. More on {epoxy} next week.

Shinylive for R

Speaking of Shiny, there’s huge news on that front too. Joe Cheng’s talk announced that we have Shinylive for Shiny now. Previously, that was only available for Py-Shiny.

This means that you can potentially host your Shiny apps without a server like shinyapps.io but could instead just upload your app to, say, GitHub pages. Of course, there are still some limitations to this approach. But I’m sure we will see huge improvements on that in the next couple of weeks.

One thing I look forward to use is the ability to run Shiny apps in Quarto docs. For example, the Python for Shiny docs already use Shinylive to showcase how Shiny apps work in action.

More interactive Quarto

The engine that makes Shinylive possible is Web Assembly (wasm). In another talk, James Balamuta demonstrates how that can be used to make Quarto docs more interactive for teaching purposes.

Just like the Python for Shiny docs demonstrates, you can leverage wasm to let students run R code in their browser. Need another example of how that’s useful for teaching? Here’s David Granjon showing you how to build collapsible cards with bslib on LinkedIn

The interactive Quarto train keeps going

Another one of my personal highlights this conf was Deepsha Menghani’s talk on leveraging animations and interactive elements to make Quarto presentations more engaging. You can find her slides for that talk on her website.

Basically, she leverages {plotly} and {crosstalk} to create little chart animations or make slides react to points and clicks. Effectively, each slide can turn into a miniature dashboard. All without a Shiny app that needs a server!

Shiny for Python

I must say that this conf piqued my curiosity about learning Shiny for Python. As Gordon Shotwell puts it, there are lots of reasons to learn Shiny for Python:

  • You already mostly know the way it works from R

  • It’s a great way to immerse yourself into the Python world

  • Your DevOps team at work is more likely to know how to handle a Python script and may therefore be more willing to help.

Thankfully, Gordon also uploaded the workshop materials to the Shiny for Python workshop. Probably a great resource for getting started (and it comes with interactive slides full of Python for Shiny apps).

Where’s the AI stuff?

Oh yeah, everyone probably want to hear about AI, right? I have to admit that I haven’t really joined the AI bandwagon yet but there were some talks that made even me more optimistic:

  • Jeremy Howard’s keynote on large language models was pretty informative about AI’s possibilities and limitations

  • Thomas Mock gave a neat talk on RStudio’s new integration of GitHub Copilot. If you want to try it yourself, then currently you will have to install one of Rstudio’s dailies. For a primer on how Copilot works in RStudio, you can check out Tom’s slides.

  • Tom’s slides also mentions the {chattr} package. Might be worth a shot trying it out if you want to have a chatGPT-like interface in RStudio.

Hope you’ve enjoyed this week’s newsletter. If you want to reach out to me, just reply to this mail or find me on Twitter, uhhh I mean X. More recently, you can also find me on LinkedIn (which I will be using more and more).

See you next week,
Albert 👋

If you like my content, you may also enjoy these:

Reply

or to participate.