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.
Josh Persi
@joshpersi.bsky.social
Data scientist and serial hobbyist 🏋️👨🍳🪴
I'm a huge fan of {targets} and the interactive web browser created by tar_watch() is simply a joy to use. #rstats
Looks like some awesome talks. Can't wait to dig in!
The recordings from Shiny in Production 2025 are now available. Talks from speakers around the world on how they use Shiny in R and Python to solve real-world data problems. Watch the sessions: youtube.com/playlist?lis...
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.
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
But what is a neural network? | Deep learning chapter 1
YouTube video by 3Blue1Brown
youtu.be
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...
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...
tidyverse.org
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
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 ...
deeplearningwithpython.io
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
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
A Canadian trade database built with DuckDB – Josh Persi
joshpersi.github.io
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
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
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
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...
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
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.
motherduck.com
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
Controlling source and author attributions in your {ggplot2} graphics – Josh Persi
joshpersi.github.io
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
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
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
It's day 10 of the #30DayMapChallenge and the prompt is 'air', so I plotted global air temperature! #DataViz #RStats #ggplot2
Day 8 of the #30DayMapChallenge and I'm plotting a road network of Montréal! #DataViz #RStats #ggplot2
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
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!
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
The prompt for day 5 of the #30DayMapChallenge was 'Earth' so I tried to plot the elevation of the Kananaskis Valley!
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!
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!
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