One week ago I was in Cape Town for the local satRday conference, where I had the honor to be one of the two keynote speakers, the other one being sports analytics extraordinaire Stephanie Kovalchik (You can read Stephanie Kovalchik’s account of the conference in this blog post). It was a fantastic experience! The event was very well organized, and 100% corresponds to its description as a “one day conference packed with R goodness”. You can watch all talks on Youtube. In my talk, I presented rOpenSci onboarding system of packages and… wore a hard hat!
It’d be a bit hard for me to really write a good recap of satRday that’d do it justice! Instead, I’ll use rtweet
and a bit of html hacking to storrrify it (like Storify, but in R) using my live tweets!
Getting my satRday tweets
To get my own satRday Cape Town tweets, I’ll first get my timeline and then filter tweets containing the official conference hashtag, "#SatRdayCapeTown”. I shall only keep my tweets.
my_tweets <- rtweet::get_timeline(user = "ma_salmon", n = 5000)
my_satrday_tweets <- dplyr::filter(my_tweets,
stringr::str_detect(text, "[sS]at[rR]day[cC]ape[tT]own"),
!is_retweet)
my_satrday_tweets <- dplyr::arrange(my_satrday_tweets, created_at)
I got 54 tweets.
Embedding tweets
I wanted to embed tweets, not to rtweet::tweet_shot
them, because I wanted to display clickable links. I used the Twitter API embed endpoint after reading this webpage. This endpoint isn’t currently included in rtweet
.
library("magrittr")
embed_tweet <- function(tweet_id){
url <-glue::glue("https://twitter.com/ma_salmon/status/{tweet_id}")
httr::GET("https://publish.twitter.com/oembed",
query = list(url = url,
hide_thread = "true")) %>%
httr::content() %>%
.$html
}
I’ll now write all html chunks in an html file.
fs::file_create("satrdaycapetown.html")
embed_and_save <- function(tweet_id){
embed_tweet(tweet_id)
}
purrr::map_chr(my_satrday_tweets$status_id, embed_tweet) %>%
paste() %>%
writeLines("satrdaycapetown.html", useBytes = TRUE)
And voilà!
I’ll include all tweets below (via a Jekyll include, with the html living in _includes, this is probably very hacky…), happy reading! Thanks again to the organizers, participants and sponsors of SatRday Cape Town for making it such an enjoyable experience!
"GitHub is a treasure trove of public activity just waiting to be analyzed" YES! More on my own 💙 for GH data at #satRdayCapeTown in a few days! 🛫 https://t.co/O7n4EIqpbj
— Maëlle Salmon 🐟 (@ma_salmon) March 13, 2018
💯 Things are getting real down here! #satRdayCapeTown https://t.co/V74HhcVZ9c
— Maëlle Salmon 🐟 (@ma_salmon) March 14, 2018
A good way to get familiar with my accent, dear #satRdayCapeTown attendees 😉 poke @DataWookie https://t.co/HOGoWIqF6I
— Maëlle Salmon 🐟 (@ma_salmon) March 15, 2018
.@theoni_p wrote a legend for the sticky notes at my #satRdayCapeTown package dev workshop! (@thecarpentries style!) 👩 🎨
— Maëlle Salmon 🐟 (@ma_salmon) March 16, 2018
The nearby @thecarpentries workshop uses pink for "confused" so a helper was scared when she came in & saw all the pink notes in our room 😂 pic.twitter.com/H0ubBpZYNF
Now I exactly know what to improve next time I teach #rstats package development in case someone wants me to do that again! 😀
— Maëlle Salmon 🐟 (@ma_salmon) March 16, 2018
Thanks #SatRdayCapeTown participants for a great day and insightful feedback! 🚦 pic.twitter.com/l6h6GCYvyx
And thanks a lot to the helpers, @jonmcalder &co who made everything run smoothly! 🌟🌟🌟 #SatRdayCapeTown https://t.co/mxVGpK8oqn
— Maëlle Salmon 🐟 (@ma_salmon) March 16, 2018
Material for my #satRdayCapeTown #rstats 📦 development workshop https://t.co/lGnaBXaHYy
— Maëlle Salmon 🐟 (@ma_salmon) March 16, 2018
Slides https://t.co/lZmUHnWzVv pic.twitter.com/YuYse37zo6
Roberto Benetto opening #SatRdayCapeTown with an overview of #rstats sf! 🌐🗺 And a pun that made everyone laugh 👏 (wait for the recording to hear it 😜) pic.twitter.com/lxRoQkDKMR
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
He's a fan of reading GitHub issues of #rstats packages to see what problems and ideas people have. So am I! 🕵️ ♂️🕵️ ♀️ #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
⚡talks time at #SatRdayCapeTown! 🏃 ♂️🏃 ♀️
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Christopher Waspe about the flowcar package. Nothing to do with 🚗! It's about ecological networks! (No URL found/given sorry 😢) ⚡ #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
#SatRdayCapeTown speakers please mention your Twitter handle if you have one & don't have it on your title slide 😉
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Vishalin Pillay about automatic report generation! RMarkdown 💙💚💛 #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Maphale Matlala about testing the IUCN Red List 🚦 for Ecosystems methodology on 🇿🇦 datasets #SatRdayCapeTown using the redlistr #rstats package https://t.co/e8QhgwEcKd pic.twitter.com/yI18oNhUyg
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Slides for my #SatRdayCapeTown talk about the @rOpenSci onboarding process of #rstats packages 📦https://t.co/OOPepRT2G3
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Poke co-editors @_inundata @noamross @sckottie
And here are the faces of onboarded packages! pic.twitter.com/TAXqxr21A1
.@painblogR is showing us how to make data analysis purrr with 🥕🥕🥕 data as an example #SatRdayCapeTown pic.twitter.com/sCeRMFcfCd
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
.@painblogR 's code https://t.co/23C6Puqxm8
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
And 🥕🥕🥕 dataset https://t.co/CiwKJks3im
A really neat intro to purrr, including pros and cons (nesting hell anecdote 😂) 👌#SatRdayCapeTown
Sean Soutar showing us how to gather data from dynamic web forms with Docker & the @rOpenSci RSelenium #rstats package https://t.co/WdTgaSzJZe ⭐ #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Futurology! (extreme risk prediction) with Alice Elizabeth Coyne 📈🔮 #SatRdayCapeTown pic.twitter.com/2G3HPOxT1g
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Super #SatRdayCapeTown organizer-in-chief @DataWookie speaking about productivity hacks, we'd better all take notes! 🗒✏
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
.@DataWookie productivy hacks
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
✅ configure ahead
✅ ditch RStudio 😱 & use the shell/R command line instead (now I want to debate functions&pkgs vs parameterized scripts with him 😁🤺)
✅ use the ☁️#SatRdayCapeTown
Now listening to @realseem about his journey from Python🐍 to R, with game making as motivator 🎮
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Very entertaining and enlightening lightning talk! #SatRdayCapeTown pic.twitter.com/pl7QaNSNzx
Schalk Heunis about using R for racing! #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Using R to train the ConvNet of a self-driving RC 🚗
Find his project at https://t.co/eyPS2gLKnL
He mentioned
⭐ https://t.co/yzhQX9qvSe
⭐ https://t.co/M6xzQOX4rC
Neil Rankin says satRday 2017 changed his life, he discovered useful 🛠! He e.g. mentions @JennyBryan 's https://t.co/G8vxGml00t
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
He's now talking about identifying bias in 🇿🇦 graduate recruitment
#SatRdayCapeTown
Such a fascinating talk about bias. 😮
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Neil Rankin used tidy text analysis to analyze personal biographies by self assigned race (thanks to @juliasilge 's presence last year).#SatRdayCapeTown
Jed Stephens walked us through some scary factors data 😉 #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Deveshnie Mudaly, SQL wiz &engaging speaker, uses a cool example in her talk about using SQL from #rstats ☄
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
PSA! She's looking for collaborators on a Harry Potter R package! Find her at https://t.co/oUJZ1unLH0#SatRdayCapeTown pic.twitter.com/1pAjcC3zRC
Unsurprisingly @rugbystatsguy is presenting about 🏈! Either put your Twitter handle on your title slide or... have one people can guess 😉
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
He mentioned the @rOpenSci plotly package https://t.co/zKD6YuxRv5#SatRdayCapeTown
Time for @StatsOnTheT 's keynote at #SatRdayCapeTown ! 🎾 pic.twitter.com/qPDQywiOPr
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
.@StatsOnTheT works for GIG that will revolutionize 🎾 through data science#SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
If you are into 🎾 & #rstats check out @StatsOnTheT 's impressive package produced by her collecting tons of data from the web!https://t.co/mueGjGXyVc#SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
This shows
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
✅ numbers calculated by @StatsOnTheT's group (win probability computed before and during events!)
✅ one of the reasons she 💙s her job!
#SatRdayCapeTown pic.twitter.com/iDwrnGBGfF
Now we'll get to see how @StatsOnTheT 's group gets there 👌
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
📽🔩#rstats ☁️🗃#SatRdayCapeTown pic.twitter.com/quQaUmES2E
Live demo by @StatsOnTheT 😎 Here is my own metrics XML 😉
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
<talk>
<content>fascinating</content>
<speaking>extremely engaging</speaking>
</talk>#satRdayCapeTown
.@StatsOnTheT tips for #rstats software for real time
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
🎾 Think modularly
🎾 Profile bottlenecks using lineprof https://t.co/L8zfOoN7aX
🎾Embrace the #tidyverse
🎾Further optimize with e.g. datatable, parallel/foreach/other parallel processing tools, Rcpp#SatRdayCapeTown
.@StatsOnTheT : GIG reports are generated automatically & in #rstats RMarkdown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
She shows us an example of a parameterized report cf https://t.co/U6HoKDoIwJ#SatRdayCapeTown pic.twitter.com/Py5S0o7RSZ
.@StatsOnTheT's tips for real time #rstats RMarkdown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
⚾️ Doc as function
⚾️ Make your summaries and plots generalizable
⚾️ Separate content from style with a CSS style sheet#SatRdayCapeTown
Find the material for @StatsOnTheT awesome talk here https://t.co/VvAk7wSODo 💁 ♀️
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Pro tip, nagivate to the repo root https://t.co/qviYxENses for even more #rstats goodness from her workshop 👩 🏫 and her @RLadiesCapeTown talk about sports blogging 💜💁 ♀️#SatRdayCapeTown
It was good promotion of sf, with nice examples! The joke wasn't about sf though.
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Roberto Benetto's code lives here https://t.co/IRY46TN4RP#SatRdayCapeTown
.@UbuntR314 said @juliasilge's last year inspired him to use sentiment analysis!
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
He developed an internal package for analysing news survey data and will soon blog about it at https://t.co/XUYYSrHQbM#SatRdayCapeTown pic.twitter.com/EWcVP3yCxT
.@naasvanheerden explains his workflow at work using R packages and Shiny apps... and says the packages will be improved thanks to my workshop yesterday 😎😊#SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
In his nice talk @naasvanheerden mentioned #rstats coming to the rescue... ICYMI @alice_data made a real logo for that! 😉https://t.co/zCre4ZWyGG#SatRdayCapeTown pic.twitter.com/CSYdqERUA1
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
The very energetic @SaintlyVi 🏃 ♀️ is now introducing CKAN & #OpenData portals
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
She mentioned the @rOpenSci ckanr #rstats package https://t.co/fWLm4YNrIj#SatRdayCapeTown pic.twitter.com/GhS4Qm4zyb
Why did I say "mentioned"?! @SaintlyVi has now walked us through an example of #rstats @rOpenSci ckanr use & is now presenting us a typical ckanr workflow! #SatRdayCapeTown pic.twitter.com/dWyzxrs5jh
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Here is @SaintlyVi intro code to #rstats @rOpenSci ckanr https://t.co/QNonaMT6aJ 🏃 ♀️
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
I also liked her promotion of @RLadiesCapeTown! 💜#SatRdayCapeTown
.@OpenSourceQuant 📈📉 on blotter https://t.co/BMjUgWvDQW
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Hey it doesn't have a README nor a repo description yet 😱😜#SatRdayCapeTown
.@pssGuy about creating interactive plots in 5 minutes ⏱ starring #rstats 🛠
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
✅ the #tidyverse
✅ @rOpenSci plotly https://t.co/zKD6YuxRv5
✅ @MilesMcBain datapasta that he tried to pronounce à la 🇦🇺 😉 https://t.co/lyjnUOcKTHhttps://t.co/tO3ME03c9R#SatRdayCapeTown pic.twitter.com/VfrNcX8RON
Last talk, by David Lubinsky, is about profiling using #rstats profvis! (poke @_ColinFay)https://t.co/Ol2KfeBwcQ #SatRdayCapeTown
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Why profile #rstats code according to David Lubinsky
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
▶️ not wasting resources in production
▶️ often easy to get improvements
▶️ R is more than a prototyping language
▶️ especially useful with Shiny#SatRdayCapeTown pic.twitter.com/l34yKrqML1
Such an interesting, clear and enjoyable live demo of @winston_chang 's profvis package by David Lubinsky 👌https://t.co/Ol2KfeBwcQ#SatRdayCapeTown pic.twitter.com/RSnNdihuuq
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
.@realseem won a book signed by @hadleywickham thanks to his great ⚡talk this morning! Well deserved!#SatRdayCapeTown pic.twitter.com/4pVymr8wDe
— Maëlle Salmon 🐟 (@ma_salmon) March 17, 2018
Flying home today&tomorrow from #SatRdayCapeTown after a great conference, thx a ton to the organizers, participants &sponsors! 🌴✈⛄ pic.twitter.com/OQWa650oF3
— Maëlle Salmon 🐟 (@ma_salmon) March 18, 2018
Not sure if relevant but it seems that sports analytics extraordinaire @StatsOnTheT
— Maëlle Salmon 🐟 (@ma_salmon) March 19, 2018
presented such models at her #satRdayCapeTown workshop https://t.co/YyQyUKFaxP
New #rstats post! "Storrrify #satRdayCapeTown 2018"https://t.co/1HimAko2yf
— Maëlle Salmon 🐟 (@ma_salmon) March 24, 2018
Thanks again to the organizers, participants and sponsors of this great conference! pic.twitter.com/HHJjhLUUR9