đ¨âđť A list of public GitHub-based projects that I, Matt Dray, have worked on for fun, mostly. Most things are written about in my blog: rostrum.blog.
These are all hosted on GitHub; none are on CRAN. Install with
remotes::install_github()
. The majority are concepts. You can find a
refined selection of the (possibly?) more useful ones on my R-universe
page. The source for the
hex logos is my matt-dray/stickers
repo.
# | Name | Hex | What | Links |
---|---|---|---|---|
1 | {ActionSquirrel} | Â | Play as a squirrel collectin nuts and avoiding an owl in an audiovisual tile-based game in your R console, thanks to {R6} | Source Blog |
2 | {altcheckr} | ![]() |
Accessibility checker: scrape websites and assess image alt-text | Source Site Blog |
3 | {backtick} | Â | RStudio Addin to insert backtick constructions (maybe your keyboard doesnât have a backtick key, or itâs mapped to do something else) | Source Blog |
4 | {badgr} | Â | Generate a customised README metadata badge from shields.io | Source Site Blog |
5 | {blogsnip} | Â | RStudio Addin for HTML and markdown constructions to make it easier for me to write {blogdown} content | Source Site Blog |
6 | {cabinet} | Â | Demo to teach package generation with {usethis} | Source Site Blog Slides |
7 | {coloratio} | Â | Check the contrast ratio of two colours for accessibility | Source Blog |
8 | {cran} | ![]() |
An extension for the {units} package so you can load an antiquated unit of uncleaned herrings (a âcranâ) | Source Site Blog |
9 | {dehex} | ![]() |
Learn how to read a colour hex code | Source Blog 1 Blog 2 |
10 | {dialga} | ![]() |
Convert R expressions to cron strings, convert cron strings to English | Source Blog |
11 | {dray} | Â | A small handful of miscellaneous personal functions | Source Blog |
12 | {emojiscape} | Â | Generate a small emoji scene in your console | Source Blog |
13 | {gdstheme} | Â | {xaringan} theme and template for the Government Digital Service, in package form | Source Site Blog Slides |
14 | {ghdump} | ![]() |
Download/clone all GitHub repos for a given user | Source Site Blog |
15 | {gpx3d} | Â | Extract geospatial data from a GPX file and plot it as an interactive 3D object. | Source Blog |
16 | {hokey} | Â | Three simple games in the terminal to demo the {keypress} package | Source Blog |
17 | {kevinbacran} | ![]() |
Calculate graph distances for CRAN authors, ĂĄ la âthe six degrees of Kevin Baconâ | Source Site Blog App |
18 | {linkrot} | Â | Scrape a webpage to detect âlink rotâ (when links to a web page break because itâs been taken down or moved) | Source Blog |
19 | {oystr} | ![]() |
Work with data from Transport for Londonâs Oyster card payment system | Source Site Blog |
20 | {pico} | ![]() |
Create an R package with the minimum required content | Source Blog |
21 | {plunderplot} | Â | Extract datapoints from PNG images of plots | Source |
22 | {r2eng} | ![]() |
Translate R expressions to English sentences | Source Site Blog Binder |
23 | {r.oguelike} | ![]() |
A dungeon-crawling ASCII roguelike game for the R console | Source Site Blog 1 Blog 2 Binder |
24 | {safar6} | Â | Playable in-console text-based simulation of the Safari Zone from PokĂŠmon Blue using {R6} OOP | Source Blog |
25 | {soccercolleagues} | Â | Find footballersâ team mates and team-mates-in-common | Source Blog |
26 | {snorkel} | Â | RStudio Addin to insert roxygen2 formatting into function documentation | Source Blog |
27 | {skyphone} | Â | Get contributions data from the GitHub Skyline API (deprecated) and visualise/sonify it | Source Blog |
28 | {tide} | Â | Edit a data.frame with Râs inbuilt spreadsheet-like data editor and get some code to reproduce the manual changes you made | Source Blog |
29 | {tidyquiz} | Â | A {learnr}/{shiny} hack to generate random quiz questions about {tidyverse} functions | Source App Blog |
Apps hosted on shinyapps.io.
Name | What | Links |
---|---|---|
Animal Crossing Popularity Contest | Swipe left or right on villagers from Nintendoâs Animal Crossing New Horizons, Tinder-style | App Source Blog 1 Blog 2 |
LeWitt ReMix | An app to remix âartâ in the style of Sol LeWitt for #RecreationThursday | App Source Blog |
Randoflag | Small app to provide a new-browser-tab flag challenge | App Source Blog |
Tidyquiz | A {learnr}/{shiny} hack to generate random quiz questions about {tidyverse} functions | App Source Blog |
Whatâs your Hadley number? | Visual demo of my {kevinbacran} package: find shortest paths to Hadley Wickham by CRAN authorship | App Source Blog |
Apps on GitHub, but not hosted.
Name | What | Links |
---|---|---|
Deer-vehicle collisions in Scotland | Explore open data on deer strikes in Scotland, 2000 to 2017 | Source Blog |
How many footballers at World Cup 2018 were younger than you? | Realise itâs too late for you to become a professional footballer | Source Blog |
Mission Across IOW | Investigate the easiest route to cross the Isle of Wight on foot in a straight line | Source Blog |
Read a colour hex code | Learn how to interpret the colour encoded in a hex code with {dehex} | Source Blog |
Pages written with R Markdown. All source code on GitHub.
Name | Type | What | Served via | Links |
---|---|---|---|---|
matt-dray.com | Personal site made with {postcards} | A single-page launchpad for links to Twitter, GitHub, etc | Netlify with CI | Source Blog |
rostrum.blog | Blog made with {blogdown} | Fun and learning with R: posting tutorials, tips, data exploration, visualisations | Netlify with CI | Source About |
faxcrayon.art | Single page RMarkdown with {bs4cards} | A gallery of recreations/remixes/original art | GitHub Pages | Source Blog |
Most slides made with the {xaringan} package.
Title | Where, when | What | Links |
---|---|---|---|
Make a Twitter bot with {rtweet} and GitHub Actions | LondonR, London, Feb 2022 | Use free tools to create a simple automated Twitter bot that tweets on schedule, using londonmapbot as an example | Video Slides Source Blog |
Hit your reproducibility {targets} | Data Science Festival, UK Government, Sep 2020 | Introduction and demo of the {targets} package for workflow reproducibility in R | Slides Source Blog |
{drake} for reproducible workflows | Bionformatics London Meetup, London, Jan 2020 | Introduction and demo of the {drake} package for workflow reproducibility in R | Slides Source Blog |
Reproducibility in R: three things | Data Science Week, Department for Education, Jan 2020 | Advice on making your R projects more reproducible | Slides Source Blog |
Easier R packages with {usethis} | Coffee & Coding, UK Government, London, Nov 2019 | How to build an R package from scratch with the {usethis} package | Slides Source Blog |
Can {drake} RAP? | Coffee & Coding, UK Government, London, Oct 2019 | Introduction and demo of the {drake} package for workflows as part of a Reproducible Analytical Pipeline (RAP) | Slides Blog Materials |
{crosstalk}: Shiny-like without Shiny | EARL 2018 conference, London, Sep 2018 | Intro and demo of the {crosstalk} package to allow HTML widgets to update dynamically without {shiny} | Slides Source Blog Materials Memes |
Intro to R Markdown | Department for Education, London, May 2018 | Quick introduction to R Markdown for beginners | Slides Source Blog |
These are some other bits and bobs that seem worthwhile to mention. In general you can visit my blog, rostrum.blog, for other stuff that Iâve dabbled with but arenât mentioned specifically on this page.
Name | What | Links |
---|---|---|
gamelad | An RStudio theme to mimic the original GameBoyâs green palette (intended for use with my {safar6} package) | Source Blog |
Hastings Half maps | A page of interactive maps of the Hastings Half-Marathon route | Site Source |
Hex stickers | Hexagonal sticker designs, mostly for R packages | Source |
Dataviz recreations | Attempts to recreate/remix data visualisations and art (see also faxcrayon.art) | Source Blog 1 Blog 2 |
londonmapbot | A Twitter bot that tweets a MapBox satellite image of a random part of London, made with {rtweet} and GitHub Actions | Twitter Source Blog 1 Blog 2 Blog 3 Blog 4 |
Emojis to SVG | Script to fetch SoftBankâs 1997 emoji set (the first-ever?) and convert them to SVG format | Source Blog |
Tidyswirl | A work-in-progress introduction to the tidyverse using {swirl} for learning R from within R itself | Source Blog |
Try R v4.1 | RStudio instance in the browser with R version 4.1 so you can try out the new base pipe (\|> ) and lambda (\() ) syntax |
Source Binder |