Mostly things I've figured out and wanted to share with you. Or remember later. Or things I wrote about because I wanted to learn something new. Occasional ramblings, sometimes thoughts.
The object impermanence of work My least favorite meetings are status meetings. I love seeing the people I work with and hearing about what they’ve been up to, but I hate trying to remember what the hell I’ve been working on. When I joined the Shiny team, we’d have a short daily status meeting and you’d think it’d be easy to remember what I did in the last 24 hours. But apparently, that’s not how…
Last week, I presented at ShinyConf 2024 about using bslib to make modern dashboards with Shiny . It was a fun talk to put together and present, and the conference itself was full of great talks showcasing the broad range of Shiny apps, developers and uses. My talk focused on the bslib package, which was also the main theme of my first year on the Shiny team. bslib started out as a way to get the…
A blog is a perpetual side-project machine They say that if you copy-paste the same code three times, write a function. I’ve also heard that if you send the same email more than once, turn that email into a blog post. But all the real work in life happens on Slack. So if a friend asks for your advice and you brain dump everything you know about the easiest way to install and manage Python, then…
Plain text slides I’m a long-time fan of using the xaringan package to create slides 1 (as you might know from my blog ). I’ve always appreciated that you can use R Markdown (or just regular markdown) to write your slides, but you can also use HTML, CSS and JavaScript to customize your slides. You can write in plain text, or you can turn each slide into a small web project . Web-based slides can…
Twitter finds itself in an… interesting… transition period. Whether or not you’re considering jumping ship to another service — you can find me lurking on Mastdon — you should download an archive of your Twitter data. Not only does the archive include all of your tweets, it also contains a variety of other interesting data about your account: who you followed and who followed you; the tweets you…
I’m stoked to announce that countdown is now available on CRAN! Countdown to something awesome in xaringan , Quarto , R Markdown , or Shiny . In this post, I reflect a bit on the development of countdown , but you can also skip straight to the release notes! What is countdown? − + 01 : 30 countdown() is a simple timer you can use in presentations, documents and Shiny apps. It’s great for teaching…
rstudio::conf(2022) runs on R rstudio::conf(2022) is just around the corner! This year, I’ve been fortunate to be part of the conference program committee, the small group of RStudio people who gather and evaluate talk submissions, make the tough scheduling decisions about the sessions and talks in the conference program, and generally wrangle and herd all the speaker and talk information into the…
I’m delighted to announce that xaringanExtra is now available on CRAN! Bring something extra to your xaringan slides. This is the first release available via install.packages() and it includes a new extra, plus some bug fixes. Read on to learn more! What is xaringanExtra? What can xaringanExtra do for you and your xaringan slides? A whole lot! Here are all the things you can do with xaringanExtra:…
Remember when Daylight Saving Time happened to us again? You know, that day that causes us all to grumble loudly about the ridiculousness of our biannual clock adjustment and loss of sleep? In this post, I engage in some self-care data visualization to explore day light hours in cities across the world and the United States, inspired by an awesome night hours series by Krisztina Szucs . Are we…
Have you heard of Wordle ? Who am I kidding, of course you’ve heard of Wordle! In fact, I’m pretty certain we’re way past peak Wordle at this point. Here’s a Wordle helper that doesn’t completely take the fun out of the guessing, while also making sure you’ve got a good chance at winning every time. Type your guesses below and then use the buttons below each letter to report Wordle’s response.…
Branch Mover Introducing branchMover , a Shiny app slash RStudio addin for coordinated default branch changes across your GitHub repositories. The app show you the default branch name for all of your repos and coordinates changing the default branch, including creating an issue to communicate the change. Moving to main street Over the past year, there’s been a concerted effort among people who…
A flow chart for the pull request functions in the usethis R package. Introduction The usethis package is full of incredibly helpful functions that make life as an R developer easier. A lot of the package’s functions target R package maintainers, but there’s a small cluster of functions that are life changing for anyone who uses git or collaborates with others via GitHub 1 . These pull request…
Cryptographically sign all of your commits with a GPG key managed by Keybase, proving to GitHub and the world that you are a real person who really wrote your code and getting that neat Verified badge next to all of your commits. Along the way, we’ll also make sure everything is set up in a way that plays nicely with RStudio. A verified commit on GitHub with the green Verified badge. Overview Did…
Have you ever spent a few minutes hours turning a bug in your code into a reprex – a minimal repr oducible ex ample? Getting to a reprex is 90% of the challenge. Most of the time, I find my mistake in the journey to a reprex. But sometimes, I find a legitimate bug and in those cases, I want to quickly turn my reprex into a GitHub issue. Here’s a quick way to get there using an RStudio addin and…
I stumbled into a niche YouTube genre: Web Development online instructors (a.k.a content creators ) challenge each other to “CSS Battles”. Turns out they are fascinating videos where experienced programmers talk and fumble their way through their coding. As they talked through their thought processes, I thought about the questions we ask when our code goes wrong and the answers we get when we…
There are a number of options for producing PDF versions of xaringan slides, provided you use the standard xaringan features. If you add interactive elements, like panelsets from xaringanExtra , printing your slides to convert them to PDF may not capture everything in your slides. This post demonstrates a function that uses chromote to print xaringan slides to PDF files that should give better…
This year, I’m presenting a lightning talk at rstudio::global — xaringan Playground: Using xaringan to learn web development . The talk is short and covers just a taste of how xaringan can make learning web development fun. In future posts I’ll dive deeper into CSS and web development basics for xaringan users. For now I just want to share some of the reasons why I love xaringan for tinkering with…
I had to set up my new work computer today and rather than just slog away at it, I thought I would live tweet the process. Honestly, there’s still a lot of config left to do, but the tweet thread does a good job organizing the apps and software I use daily. My install notes are another good summary. I used rtweet and tweetrmd to unroll the twitter thread. Upgrade to Big Sur Critical First Steps…
Today I was nerd sniped by Mike FC who goes by @coolbutuseless on Twitter despite the fact that he makes cool and useful things on the regular. In his tweet, he shows a neat trick that works on Unix or macOS machines. These systems come with a command-line utility called cal ( read more here ). By calling cal from the R console using system() , you can print a calendar in your console. system (…