Image: wikipedia

# A random walk on CRAN

One of my goals this year was to broaden my horizons, programming-wise. So far, I’ve been really happy with my progress!

• At the start of the year I taught myself the basics of generating nice R Markdown websites, and used this to move a lot of my old statistics lecture notes into a more accessible format.
• I learned the basics of Shiny applications, enough that I could build a basic psychology experiment in Shiny (see here and here).
• I started teaching myself bootstrap for international women’s day which then let me move my lab website into a format that I’m much happier with.
• I taught myself the basics of the imager package (producing some new pretty pictures for the lab gallery).
• I’ve worked a bit on my javascript skills (and learned some jsPsych in the process).
• I took a short course on Python programming that covered pandas and seaborn, and happened to expose me to jupyter notebooks. This gave me enough courage to tinker a little with the server side of the Google App Engine apps that I’ve been using blindly when hosting my sites.
• I’ve started familiarising myself with JASP, though admittedly that’s not really programming!
• I’ve also toyed around with the twitteR package in R, the animate package, the rgl package, and the googleComputeEngineR package.
• I had to learn some blogdown to set up the Sydney R-Ladies blog.
• Oh, and just for fun I’ve played around with the turtleGraphics, cowsay, and fortunes packages.

So, yes … a pretty good start! When I list all the things like that, I’m kind of amazed at how far I’ve gotten this year.

But there’s always more to learn, and I really want to keep in the habit of learning new things. And with that in mind, I’m going to try something new and even more terrifying: twitter. Specifically, I’m going to try the #100DaysOfCode challenge, with a kind of silly goal: every day I’m going to pick a new R package, play around with it, try to make sense of how it works, write a (probably short) blog post about my experience playing around with it, and tweet about it because apparently that’s what all the cool kids do these days.

• Day 1: Tempting fate with blogdown
• Day 2: Partying 🎉 with emo-ji 💃
• Day 3: Into the shallows of deep learning with h2o
• Day 4: On pipes and laundry, with magrittr
• Day 5: Gorgeous interactive maps with leaflet
• Day 6: Making dates slightly less annoying with lubridate
• Day 7: I ran out of time so here is the meme package!
• Day 8: Set your default to prettiness 😄
• Day 9: I have mixed feelings about lsr
• Day 10: The rtweet package is fun!
• Day 11: stringr and janeaustenr play together
• Day 12: getting started with stan
• Day 13: I am doubting my commitment to sparkline
• Day 14: Silliness with gaussfacts
• Day 15: Lovely pictures with mathart
• Day 16-17: Fun with purrr and The Princess Bride
• Day 18-19: The RefManageR package
• Day 20-21: Adding cat gifs to plots using magick 🧙‍♀️
• Day 22-23: Non-standard evaluation
• Day 24-25: Preventing 💻 🔥 with the home package
• Day 26-27: Through the looking glass with pryr
• Day 28: The fcuk package
• Day 29-30: The plumber package
• Day 31-34: Building a shiny app, with some help from shinyjs, rdrop2 and sn
• Day 35: Mixing scico with programming errors to make probabilistic artwork
• Day 36-37: Explaining models with dalex
• Day 38: Algorithmic complexity with acss
• Day 39-46: Useful pictures with ggstatsplot
• Day 47-50: Using paletter to create palettes from images
• Day 51-52: Pretty tables with kableExtra
• Day 53-54: Wasting time in the rcade
• Day 55-62: The boring bits
• Day 63-66: Simple data summaries with skimr
• Day 67-81: Getting started with Rcpp
• Day 82-94: Some thoughts on workflow
• Day 95-98: The keypress package