Having seen how easy it was to convert a couple of hobby projects to use {pins}, I’m now daydreaming about putting it at the center of an S3 data lake operation.
I successfully made some small changes in a Shiny app to use the {pins} package to separate out a support file and data definitions from the app bundle itself. This lets me revise supporting information without needing to republish the app. It’s pretty cool! I’m excited to use the package lots more.
Having placed every puzzle piece with the slightest identifiable feature, we are left with a sea of blue, and we are positively laying siege to the remainder.
Sharing a quick tip that I’ve found useful while building with Shiny, recently: It’s handy to be able to save off the current state of a data set for bringing over to a scratch file. I made the download link appear only when running in my local environment. This way I can easily snapshot my in process data set for experimenting with visualization in my scratch file.
In ui.R
:
if(interactive()) {
downloadLink("downloadData", "💾️ Download data set")
}
And in server.R
:
output$downloadData <- downloadHandler(
filename = function() {
paste("shiny-export_", Sys.Date(), ".csv", sep="")
},
content = function(file) {
write.csv(globaldata$armor, file)
}
)
I had a good time this weekend coming up with a new way to visualize armor stat distribution in my Destiny 2 profiler tool. 🎮
Just learned of {httr2} (https://github.com/r-lib/httr2), a rewrite of R’s httr package, and am excited to try it out! The pipeable API looks like a nicely improved way to build complex requests.
🎮 Now that I’ve finished Citizen Sleeper, maybe I’ll head back to my long-time Destiny hobby, but maybe … Elden Ring!
I spent a good chunk of my Sunday playing the brilliant Citizen Sleeper. It has this amazing balance of insightful and moving writing, tense mechanics, and gradually revealed countdowns to critical gameplay events. It’s really great!