Simon P. Couch's Avatar

Simon P. Couch

@simonpcouch.com.bsky.social

he/him - writing statistical software at Posit, PBC (nΓ©e RStudio)πŸ₯‘ simonpcouch.com, @simonpcouch elsewhere

3,341 Followers  |  180 Following  |  166 Posts  |  Joined: 27.09.2023  |  2.1407

Latest posts by simonpcouch.com on Bluesky

Anyway just saying

27.07.2025 18:38 β€” πŸ‘ 379    πŸ” 75    πŸ’¬ 13    πŸ“Œ 4

OMG I TRIED AIR. I TRIED IT & LIFE WILL NEVER BE THE SAME. @juliasilge.com recommended format on save, so I set up Air + format on save + auto save when focus leaves editor.

This might be the thing that gets me using #Positron for both #Rstats & Python (currently only using it for #Python) #databs

26.07.2025 17:41 β€” πŸ‘ 66    πŸ” 8    πŸ’¬ 8    πŸ“Œ 3
Part 3 is Finished, Part 4 Started – Applied Predictive Modeling Blog

We've released 4 new chapters of Applied Machine Learning for Tabular Data.

Includes: Bayesian optimization, feature selection, model comparisons, classification metrics, calibration, #rstats computing sections, and more

blog.aml4td.org/posts/2025-0...

25.07.2025 16:53 β€” πŸ‘ 49    πŸ” 10    πŸ’¬ 2    πŸ“Œ 0
Variants of the hex logo for the stacks package from different posit::conf years, each featuring a stack of pancakes with different toppings and color schemes. The 2025 version (top left) has orange colors with peach slices, 2024 (top right) uses dark blue/purple with blackberries, 2023 (bottom left) features red/pink with raspberries, and the original (bottom right) displays teal/blue with  blueberries.

Variants of the hex logo for the stacks package from different posit::conf years, each featuring a stack of pancakes with different toppings and color schemes. The 2025 version (top left) has orange colors with peach slices, 2024 (top right) uses dark blue/purple with blackberries, 2023 (bottom left) features red/pink with raspberries, and the original (bottom right) displays teal/blue with blueberries.

The limited run of the #rstats stacks hex for this year's posit::conf is confirmedπŸ₯žπŸ₯žπŸ₯ž I'll have a batch of peaches & cream stickers, come say hi to pick one up!

posit.co/conference/

25.07.2025 14:38 β€” πŸ‘ 28    πŸ” 5    πŸ’¬ 0    πŸ“Œ 1
Preview
ellmer 0.3.0 The newest version of ellmer introduces a simpler `chat()` interface that can works with any provider, a bunch of improvements to tool calling, and a handful of smaller quality of life improvements.

🐘 ellmer 🐘 makes it easy and fun to use LLMs from #rstats, and 0.3.0 is out now. Read about the new streamlined chat() function, improvements to tool specifications, and more at www.tidyverse.org/blog/2025/07....

25.07.2025 13:25 β€” πŸ‘ 80    πŸ” 26    πŸ’¬ 3    πŸ“Œ 2

TIL!!!

24.07.2025 21:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
quarto/.git-blame-ignore-revs at main Β· quarto-dev/quarto Quarto open-source scientific and technical publishing system - quarto-dev/quarto

If you're worried about that messing with `git blame`, you can use `.git-blame-ignore-revs` github.com/quarto-dev/q...

24.07.2025 21:32 β€” πŸ‘ 9    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0
A hexagonal logo on the left with a dark purple background and colorful, wavy lines across it reads "tidymodels". To the right, a white box with rounded corners displays the text "c(0, 0, 1, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)". The background is teal with a subtle dotted pattern. A small "posit" logo is in the top right corner.

A hexagonal logo on the left with a dark purple background and colorful, wavy lines across it reads "tidymodels". To the right, a white box with rounded corners displays the text "c(0, 0, 1, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)". The background is teal with a subtle dotted pattern. A small "posit" logo is in the top right corner.

Announcing sparse data support in tidymodels!

#RStats users, get faster model fitting, less memory use, & efficient handling of big datasets with zeros.

Check out blog: www.tidyverse.org/blog/2025/03...

@emilhvitfeldt.bsky.social's SLC UseR talk: www.youtube.com/watch?v=l1zv...

23.07.2025 14:13 β€” πŸ‘ 30    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0

Thank you for passing this along!

22.07.2025 22:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
R and the Model Context Protocol The newly released mcptools package makes coding assistants better at writing R code and applications built with ellmer more powerful.

mcptools, a package implementing the Model Context Protocol in #rstats, is now on CRAN!πŸŒ‰

We see significant opportunity with MCP and, at the same time, want to note that it's still a nascent ecosystem with serious security risks. www.tidyverse.org/blog/2025/07...

21.07.2025 13:37 β€” πŸ‘ 29    πŸ” 13    πŸ’¬ 0    πŸ“Œ 1

Tidy dev day flash tattoo options:

* %>%
* rainbow hex
* ::
* Tidy data definition, in full

18.07.2025 21:08 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

YES

18.07.2025 18:35 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
This week in R (2025-07-18) Two introductions tot eh {ragnar} package for RAG in R; experiences with Claude Code for R dev; faceting {tinyplot} plots; the new {httr2} version, and more!

this week in #rstats πŸ•Ί

- latest Claude Code thoughts πŸ€– @simonpcouch.com
- faceted {tinyplot}s πŸ“Š @ereinbergs.bsky.social
- {httr2} v1.2.0 🎯 @posit.co @hadley.nz
- RAG with {ragnar}+{ellmer} βš’οΈ @stephenturner.us @smachlis.bsky.social

this and more below 😎

www.linkedin.com/pulse/week-r...

18.07.2025 10:11 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

Yeah, agreed that it can certainly take a good while. I wouldn't say the latency bothers me (specifically in the context of Claude Code), but maybe it's because I've picked up the habit of puttering around in the codebase while waiting? Not sure if that's a good or bad habit.

18.07.2025 00:00 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Much appreciated! Agreed that more measured takes on this stuff can be hard to come by.

17.07.2025 23:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
How I’m using Claude Code to write R code | Simon P. Couch – Simon P. Couch

After a month or so of not using Claude Code much to write R code, I recently returned to using the tool most days. Giving coding assistants the ability to peruse #rstats package documentation via MCP is so, so helpful: www.simonpcouch.com/blog/2025-07...

17.07.2025 19:07 β€” πŸ‘ 61    πŸ” 13    πŸ’¬ 3    πŸ“Œ 2

the remainder of this skeet is organized as follows

17.07.2025 01:15 β€” πŸ‘ 25    πŸ” 3    πŸ’¬ 2    πŸ“Œ 1
Preview
Retrieval-Augmented Generation (RAG) Workflows Provides tools for implementing Retrieval-Augmented Generation (RAG) workflows with Large Language Models (LLM). Includes functions for document processing, text chunking, embedding generation, storag...

#ragnar 0.2.0 is on CRAN #rstats!

It has a MUCH improved chunker; markdown_chunk() picks better boundaries, builds context, segments by headings, and handles overlapping chunks. Oh, and ragnar_retrieve() can deoverlap retrieved chunks now.

Website got a big update too: ragnar.tidyverse.org

15.07.2025 13:44 β€” πŸ‘ 41    πŸ” 16    πŸ’¬ 4    πŸ“Œ 1
Preview
Are developers slowed down by AI? Evaluating an RCT (?) and what it tells us about developer productivity Seven different people texted or otherwise messaged me about this study which claims to measure β€œthe impact of early-2025 AI on experience open-source developer productivity.” You know, when I decide...

The people call and I answer.

Here are my thoughts on that developer RCT and the "AI slows down developers" claim.

www.fightforthehuman.com/are-develope...

13.07.2025 23:02 β€” πŸ‘ 102    πŸ” 40    πŸ’¬ 5    πŸ“Œ 13

HECK YEAH

14.07.2025 17:32 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A horizontal bar chart comparing various AI models' performance on R coding tasks. The chart shows percentages of correct (blue), partially correct (beige), and incorrect (orange) answers. Models listed from top to bottom are Kimi K2, Claude 4 Opus, Claude 4 Sonnet, GPT 4.1, GPT 4.1-mini, and Gemini 2.5 Flash. Claude 4 Opus shows the highest proportion of correct answers at approximately 60%, while Kimi K2 sits around 36%.

A horizontal bar chart comparing various AI models' performance on R coding tasks. The chart shows percentages of correct (blue), partially correct (beige), and incorrect (orange) answers. Models listed from top to bottom are Kimi K2, Claude 4 Opus, Claude 4 Sonnet, GPT 4.1, GPT 4.1-mini, and Gemini 2.5 Flash. Claude 4 Opus shows the highest proportion of correct answers at approximately 60%, while Kimi K2 sits around 36%.

Drawing comparisons to Deepseek, a little-known company dropped an open-weights LLM Kimi K2 on Friday with some very impressive benchmarks. I tried it out and the vibes were bad.

www.simonpcouch.com/blog/2025-07...

14.07.2025 16:04 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

WOAH

11.07.2025 14:36 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
Parallel processing in purrr 1.1.0 The functional programming toolkit for R gains new capabilities for parallel processing and distributed computing using mirai.

#tidyverse purrr 1.1.0 is out - now with parallel processing!

Scale your #rstats map operations reliably and efficiently across multiple cores and even distributed systems.

Powered by the mirai framework, this unlocks new levels of performance.

Read more at:
www.tidyverse.org/blog/2025/07...

10.07.2025 22:35 β€” πŸ‘ 190    πŸ” 60    πŸ’¬ 5    πŸ“Œ 4
Preview
Conference – rainbowR Join our conference organising committee! See our conference page for more info.

🌈 🌐 rainbowR conference: online, early 2026 🌐 🌈

Are you LGBTQIA+, do you code in R, and would you like to get involved in rainbowR’s first-ever conference? We are looking for people to join our conference organising committee!

➑️ rainbowr.org/conference
πŸ—“οΈ 1st meeting: July 9, 4pm UTC

07.07.2025 16:12 β€” πŸ‘ 29    πŸ” 18    πŸ’¬ 1    πŸ“Œ 3
Screenshot from Positron showing code that connects to a database, and then highlights the connection in a Connections Pane and shows the data in a Data Explorer tab

Here's the code:

library(dplyr)

# Connect with {connections}, which automatically adds this to the panel
con <- connections::connection_open(duckdb::duckdb(), ":memory:")

# Or do it manually with {DBI}
# con <- DBI::dbConnect(duckdb::duckdb(), ":memory:")
# connections::connection_view(con)

# Add some stuff to the database
copy_to(con, penguins, name = "penguins", overwrite = TRUE)
copy_to(con, gapminder::gapminder, name = "gapminder", overwrite = TRUE)

# Get stuff out of the database
adelie_query <- tbl(con, I("penguins")) |> 
  filter(species == "Adelie")

# Check it out! It's SQL!
show_query(adelie_query)

# Actually run the query
penguins_from_db <- adelie_query |> 
  collect()
penguins_from_db

connections::connection_close(con)
# Or this: 
# DBI::dbDisconnect(con)

Screenshot from Positron showing code that connects to a database, and then highlights the connection in a Connections Pane and shows the data in a Data Explorer tab Here's the code: library(dplyr) # Connect with {connections}, which automatically adds this to the panel con <- connections::connection_open(duckdb::duckdb(), ":memory:") # Or do it manually with {DBI} # con <- DBI::dbConnect(duckdb::duckdb(), ":memory:") # connections::connection_view(con) # Add some stuff to the database copy_to(con, penguins, name = "penguins", overwrite = TRUE) copy_to(con, gapminder::gapminder, name = "gapminder", overwrite = TRUE) # Get stuff out of the database adelie_query <- tbl(con, I("penguins")) |> filter(species == "Adelie") # Check it out! It's SQL! show_query(adelie_query) # Actually run the query penguins_from_db <- adelie_query |> collect() penguins_from_db connections::connection_close(con) # Or this: # DBI::dbDisconnect(con)

Ooh, @posit.co's Positron is no longer in beta as of this week(!), and it recently added support for DuckDB databases in the Connections Pane positron.posit.co/connections-... - any db connection you add with {connections} shows up thereβ€”this is magical! #rstats

03.07.2025 14:04 β€” πŸ‘ 89    πŸ” 24    πŸ’¬ 4    πŸ“Œ 2

tl;dr: for the same functionality from before,

* update pkg verisons `pak::pak(paste0("posit-dev/", c("acquaint", "btw")))`
* transition `acquaint::mcp_server()` to `btw::btw_mcp_server()`
* transition `acquaint::mcp_session()` to `btw::btw_mcp_session()`.

02.07.2025 16:54 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Model Context Protocol Server For Your R Sessions Implements a model context protocol (MCP) server for your R sessions, allowing MCP-compatible apps like Claude Desktop and Claude Code to run R code in your active R sessions in order to better answer...

For the early adopters of acquaint, a package implementing the Model Context Protocol in #rstats: the package has been renamed to mcptools and no longer exports btw's tools by default.

See the package website for more info posit-dev.github.io/mcptools/

02.07.2025 16:52 β€” πŸ‘ 14    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0

RaukR is an #rstats summer school (~1.5 weeks) I've taught at a few times. Highly recommended for content (of course I'm biased 😁), smooth organization, and an amazing location (Visby 🏰 on the island of Gotland in Sweden πŸ‡ΈπŸ‡ͺ). Intrigued? Sign up to get notified when RaukR 2026 opens for registration.

02.07.2025 15:49 β€” πŸ‘ 15    πŸ” 7    πŸ’¬ 1    πŸ“Œ 0
Hadley Wickham in a white t-shirt and jeans sits on a light-colored couch across from Michael Chow, wearing a dark green shirt and pants, who is seated on an orange pouf. Between them is a white coffee table with books. In the background, there's a dark bar with shelves displaying numerous bottles, a wood-paneled wall, and a black, modern fireplace. Text overlay reads "Hadley Wickham CHIEF SCIENTIST, POSIT".

Hadley Wickham in a white t-shirt and jeans sits on a light-colored couch across from Michael Chow, wearing a dark green shirt and pants, who is seated on an orange pouf. Between them is a white coffee table with books. In the background, there's a dark bar with shelves displaying numerous bottles, a wood-paneled wall, and a black, modern fireplace. Text overlay reads "Hadley Wickham CHIEF SCIENTIST, POSIT".

Ever wonder how the #tidyverse came to be? πŸ€”

#TheTestSet's first episode features @hadley.nz on his accidental empire of #RStats packages, bear encounters, and more!

Stream it at thetestset.co, Spotify, or Apple Podcasts.

#DataAnalytics #PodcastLaunch

01.07.2025 14:33 β€” πŸ‘ 74    πŸ” 30    πŸ’¬ 1    πŸ“Œ 2
R-Ladies Gaborone (English) - LLM Tools in the R Space with Luis D Verde Aggregoitia
YouTube video by R-Ladies Global R-Ladies Gaborone (English) - LLM Tools in the R Space with Luis D Verde Aggregoitia

🌟 Just posted:
A fantastic talk from @liomys.mx πŸ’œ on how R users can harness the power of #LLMs!

Hosted by R-Ladies Gaborone 🌍
πŸŽ₯ Watch: youtu.be/0WsF4XcIhYI
πŸ“šInspired by his website guide: luisdva.github.io/llmsr-book/

#RStats #LLMs #RLadies #DataScience

30.06.2025 20:38 β€” πŸ‘ 30    πŸ” 9    πŸ’¬ 1    πŸ“Œ 0

@simonpcouch.com is following 20 prominent accounts