Sign in

Josh Persi

@joshpersi.bsky.social
48 followers 48 following 38 posts

Data scientist and serial hobbyist 🏋️👨‍🍳🪴

PostsRepliesMedia
Reposted by Josh Persi
Oli Hawkins @olihawkins.com · 11/07/2026
For me the saddest part is the death of Stack Overflow, which was an internet marvel of the same sort as Wikipedia. The idea of replacing so much human interaction with each of us individually typing into solipsistic web forms and terminal prompts is depressing as hell.
3519
Josh Persi @joshpersi.bsky.social · 19/06/2026
I'm a huge fan of {targets} and the interactive web browser created by tar_watch() is simply a joy to use. #rstats
0100
Josh Persi @joshpersi.bsky.social · 10/03/2026
Can anyone recommend some data science podcasts on really any aspect of the biz? My go-tos are the R podcast and the test set, but curious what others are listening to! #rstats #pydata
110
Josh Persi @joshpersi.bsky.social · 04/03/2026
Looks like some awesome talks. Can't wait to dig in!
010
Reposted by Josh Persi
Nick Strayer @nstrayer.bsky.social · 25/02/2026
New feature in the Positron Notebook Editor: Inline data-explorer view. Whenever you print a pandas or polars dataframe you get an inline interactive view powered by Positron's data explorer. This allows you to view and sort massive dataframes.
2306
Josh Persi @joshpersi.bsky.social · 24/02/2026
Positron users - do you set up multiple (all?) projects in a single workspace or open up each project into its own workspace. I'm thinking the latter is more common but I'm curious to know if others use the multiple-projects-in-one-workspace approach. #positron #rstats
220
Josh Persi @joshpersi.bsky.social · 24/02/2026
Working on Shiny apps for the passed few weeks, boy am I glad the browser() function exists. It makes it so much easier to walk through reactives as they're being evaluated. Check it out if you've ever felt stuck working on a massive Shiny app! #rstats #rshiny
081
Josh Persi @joshpersi.bsky.social · 10/02/2026
I'm new to the world of neural networks and am 8 years late to this video, but this video really helped me build intuition for what happens under the hood. Thanks @3blue1brown.com! youtu.be/aircAruvnKk #rstats #pydata #machinelearning #deeplearning
youtu.be
But what is a neural network? | Deep learning chapter 1
YouTube video by 3Blue1Brown
171
Reposted by Josh Persi
Davis Vaughan @davisvaughan.bsky.social · 04/02/2026
dplyr 1.2.0 is out now and we are SO excited! - `filter_out()` for dropping rows - `recode_values()`, `replace_values()`, and `replace_when()` that join `case_when()` as a complete family of recoding/replacing tools These are huge quality of life wins for #rstats! tidyverse.org/blog/2026/02...
tidyverse.org
dplyr 1.2.0
dplyr 1.2.0 fills in some important gaps in dplyr's API: we've added a new complement to `filter()` focused on dropping rows, and we've expanded the `case_when()` family with three new recoding and re...
12463133
Josh Persi @joshpersi.bsky.social · 21/01/2026
Come learn about deep learning with us! The Data Science Learning Community just started reading the free third edition of Deep Learning with Python. Meetings are Tuesday at 3 pm CST. DSLC: dslc.io Book: deeplearningwithpython.io #rstats #pydata
deeplearningwithpython.io
Deep Learning with Python, Third Edition
Deep Learning with Python is written for anyone who wishes to explore deep learning from scratch. This new edition adds comprehensive coverage of generative AI and modern deep learning frameworks. It ...
073
Josh Persi @joshpersi.bsky.social · 02/01/2026
For this week's #tidytuesday I looked at the sentiment of classic Christmas novels and found the most 'joyous' ones on the basis of a sentiment analysis. If you want extra joy next holiday season, Angel Unaware may be a good read! #dataviz #rstats #ggplot2
290
Josh Persi @joshpersi.bsky.social · 28/12/2025
Hey folks! I built a Canadian trade database to practice what I'm learning about DuckDB. The database includes all Canadian imports and exports from 1988 to present as per Statistics Canada. Here's a blog post I wrote with more details: joshpersi.github.io/blog/posts/0... #rstats #duckdb
joshpersi.github.io
A Canadian trade database built with DuckDB – Josh Persi
4336
Josh Persi @joshpersi.bsky.social · 24/12/2025
I'm taking my very first crack at OJS for this week's #tidytuesday! It's a super basic plot but getting going with OJS was a challenge, so I'm calling it a win! #DataViz #RStats #ggplot2
2100
Josh Persi @joshpersi.bsky.social · 19/12/2025
Who knew Florida had so many roundabouts? For this week's #tidytuesday I struggled to match each interval's colour intensity with the midpoint of the interval. I couldn't figure it out in code and ended up pulling from coolors.co/gradient-pal... #DataViz #RStats #ggplot2 #tidytuesday
A choropleth map of US states, coloured by the number of roundabouts per state. The state with the most roundabouts if Florida.
070
Josh Persi @joshpersi.bsky.social · 05/12/2025
I took this week's #TidyTuesday as an opportunity to try and brush up on modelling and learn tidymodels.org. I have no great modelling insights to share, but in making this graph, I did learn you can set line-ends to be round in geom_line(). Who knew?! #DataViz #RStats #ggplot2
1120
Reposted by Josh Persi
Posit @posit.co · 24/11/2025
testthat 3.3.0 is here! Major updates for #RStats testing include failure messages for easier debugging, 6 new specific expectations, and the SlowReporter to find your bottlenecks. Heads Up: R 4.1+ is now required, and old mocking functions are removed. Read the post: tidyverse.org/blog/2025/11...
testthat hex
0246
Josh Persi @joshpersi.bsky.social · 24/11/2025
The Data Science Learning Community is starting a new book club cohort for DuckDB in Action this Wednesday. Come read and learn with us! All are welcome! DSLC: dslc.io DuckDB in Action: motherduck.com/duckdb-book-... #RStats #python #DataScience #OpenSource
motherduck.com
Free "DuckDB in Action" Book
Download a free PDF of the DuckDB in Action book published by Manning. The book is rich with technical guidance on data analytics and data engineering with DuckDB and MotherDuck.
0130
Josh Persi @joshpersi.bsky.social · 22/11/2025
A very long time in the making but I'm eager to share I've made a Quarto blog to talk about all the data science stuff I'm learning! First post is about adding data source and author attributions in ggplot2! Feel free to stop by! joshpersi.github.io/blog #RStats #Quarto #DataScience #OpenSource
joshpersi.github.io
Controlling source and author attributions in your {ggplot2} graphics – Josh Persi
1131
Josh Persi @joshpersi.bsky.social · 14/11/2025
This is my first time joining in on the #TidyTuesday fun. Looking forward to seeing what everyone else is doing with this week's data! #DataViz #RStats #ggplot2
A line-chart showing the number of deaths to tuberculosis on the y-axis and year, from 2000 to 2023, on the x-axis, with each line being a separate country. Most countries have had low tuberculosis mortality throughout this timespan, but two countries in particular, India and South Africa, have seen significant declines.
2170
Josh Persi @joshpersi.bsky.social · 14/11/2025
10 minutes is all we were allowed for day 13 of the #30DayMapChallenge. This took me about 15 minutes, so I'm a little over, but this was a fun way to work under a time constraint and avoid endless tweaking! #DataViz #RStats #ggplot2
A map of Canada showing rivers as lines
180
Josh Persi @joshpersi.bsky.social · 12/11/2025
Day 11 is all about minimalism so I made a map with four lines! Perhaps too minimal, but I also couldn't find geographic data on the stations themselves, so maybe it was meant to be 🤷 #30DayMapChallenge #DataViz #RStats #ggplot2
270
Josh Persi @joshpersi.bsky.social · 11/11/2025
It's day 10 of the #30DayMapChallenge and the prompt is 'air', so I plotted global air temperature! #DataViz #RStats #ggplot2
150
Josh Persi @joshpersi.bsky.social · 08/11/2025
Day 8 of the #30DayMapChallenge and I'm plotting a road network of Montréal! #DataViz #RStats #ggplot2
090
Reposted by Josh Persi
Nicola Rennie @nrennie.bsky.social · 07/11/2025
For the "accessibility" prompt on day 7 of the #30DayMapChallenge, I decided to investigate how accessible the default #ggplot2 colours are to people with different types of colour vision deficiency (and for different numbers of colours used). 🎨 #RStats #DataViz
A 5x5 grid of maps of France. Each row contains areas shaded with a different number of colours, and each column shows how it looks with different types of colour vision deficiency. None are accessible, except when using only two colours.
3418
Josh Persi @joshpersi.bsky.social · 08/11/2025
I learned how little I know about accessibility with day 7 of the #30DayMapChallenge. I tried to use a legible font and added an alt-text, but my colors are low-contrast and I have no idea how far off of best practice I am. If you have resources on making maps accessible, please share them with me!
A map of Ontario, Canada showing the geographic range of the boreal woodland caribou.
120
Josh Persi @joshpersi.bsky.social · 07/11/2025
Day 6 of the #30DayMapChallenge makes things 3D! I took my elevation map from yesterday and made it so with the {rayshader} package. #DataViz #RStats #ggplot2
2273
Josh Persi @joshpersi.bsky.social · 06/11/2025
The prompt for day 5 of the #30DayMapChallenge was 'Earth' so I tried to plot the elevation of the Kananaskis Valley!
0151
Josh Persi @joshpersi.bsky.social · 04/11/2025
For Day 3 of the #30DayMapChallenge, I mapped the regions and departments of mainland France! I learned a lot about {ggrepel} but couldn't quite get the labels to be on the outside of each region. Something to work on for next time!
080
Josh Persi @joshpersi.bsky.social · 04/11/2025
Day 2 of the #30DayMapChallenge is all about lines. Here's a single line that's near and dear to my heart — the Pacific Crest Trail!
080
Josh Persi @joshpersi.bsky.social · 03/11/2025
Already a couple days behind! Here's my contribution for the first day of the #30DayMapChallenge. The HMS Terror and Erebus were abandoned during John Franklin's attempt to find the Northwest Passage. #DataViz #RStats #ggplot2
0111