Advertisement · 728 × 90

Posts by Maëlle Salmon

It is with great sadness that we announce the passing on 1 April of Tomáš Kalibera, a valuable member of the R Core Team for close to 10 years, after a short but aggressive illness.

Tomáš is survived by his wife and 1 year old son. A full obituary will be posted in due time.

1 week ago 81 24 1 4
Preview
ggsql: A grammar of graphics for SQL Introducing ggsql, a grammar of graphics for SQL that lets you describe visualizations directly inside SQL queries.

I am excited beyond description to lift the veil on what we have been working on in 2026:

Please meet ggsql! A new extension of the SQL language for creating visualisations using the grammar of graphics. Read all about it in the blog post or visit the website at ggsql.org

9 hours ago 302 72 12 7
Video

Introducing 🌳tarborist: a VS Code extension providing tree-sitter powered static analysis of {targets} pipelines with target info on hover, tar_map() autocompletion, cycle detection, and upstream/downstream info/links #RStats

Github:
github.com/tylermorganw...

OpenVSX:
open-vsx.org/vscode/item?...

2 weeks ago 55 5 6 5
Post image Post image

#rstats SSA SCV section is excited to bring a panel discussion on “where do R packages live?” May 20, 5pm AEST Sign up to join at statsoc.org.au/event-6653060 @fontikar.bsky.social

3 days ago 9 5 1 0

"Add whimsy", they said 😸

Pattern by Kakotille (www.etsy.com/ca/listing/8...)

13 hours ago 3 0 0 0
The sword in the stone - Rubity, scrubity sweebity
The sword in the stone - Rubity, scrubity sweebity YouTube video by CurlySVT

Could you base a whole talk just on Disney magic metaphors? 😂

- The two fairies in Sleeping beauty fighting over a dress' color, agents gone wild? www.youtube.com/watch?v=D1fO...
- Merlin the AI? www.youtube.com/watch?v=rH5m... ("No one will know the difference son!")

1 week ago 2 0 0 0

Just sent this to my oldest, who's in 4th year of a software engineering degree. It's going to be an "interesting" ride for this cohort 😅

1 week ago 21 6 1 0

This is a really neat idea but I'll never remember the commands, so I created a little `git-recon` bash script that runs them in series, complete with some ascii bar plots.
gist.github.com/gadenbuie/46...

1 week ago 30 4 0 0
coalesce – Jarl Using the coalesce operator %||% is more concise and readable than an if-else statement checking for null.

If you enjoy the coalesce operator %||%, did you know that you can enforce it through

- Jarl jarl.etiennebacher.com/rules/coalesce
- {lintr} lintr.r-lib.org/reference/co...

(For older R versions you could use the same operator from {rlang})

#RStats

1 week ago 7 2 0 0
Advertisement
Learning a New Codebase with Patricia Aas Edward talks to Patricia Aas, a veteran C++ developer, about how read a brand new codebase, understand it, and how to get started contributing to it.

Ça c'est la règle 1 dans allthingsgit.com/episodes/lea..., excellent épisode de podcast

1 week ago 0 0 0 0

Thanks for sharing!!

1 week ago 0 0 0 0
The Git Commands I Run Before Reading Any Code Five git commands that tell you where a codebase hurts before you open a single file. Churn hotspots, bus factor, bug clusters, and crisis patterns.

I 💚 this especially the first one: "The Git Commands I Run Before Reading Any Code" by Ally Piechowski

piechowski.io/post/git-com...

1 week ago 84 20 3 2
Preview
Panache: Language Server, Formatter, and Linter for Pandoc, Quarto, and R Markdown Panache provides authoring tools for Pandoc, Quarto, and R Markdown: a language server, formatter, and linter to help you write better documents, more efficiently.

The panache #quartopub formatter and linter by @jolars.co is excellent!

Very configurable and uses external tools (e.g., air or ruff) to format code blocks.

panache.bz

2 weeks ago 16 2 0 0

Best books in the genre, so much common sense

1 week ago 1 0 0 0

Reading this reminded me of "Add whimsy", a tip by productivity books author Laura Vanderkam lauravanderkam.com/2021/02/add-...

1 week ago 1 0 1 1
Preview
What’s next: Quarto 2 – Quarto We’ve started working on quarto-dev/q2, a full rewrite of Quarto in Rust.

And another Quarto announcement; I've alluded to it before, but we're making it "official".

We've started work on Quarto 2. The blog post has an overview: quarto.org/docs/blog/po...

We'll share more in future blog posts, but here's what you can expect from the Quarto 2 dev effort:

(1/)

2 weeks ago 194 54 10 13

Any example? It'd be cool to demo in a blog post 😉

1 week ago 0 0 0 0

How do you use mergiraf?

2 weeks ago 0 0 1 0

@masalmon.eu has written up a great post on the downstream effects of tree-sitter-r!

- Air, for formatting
- Jarl, for linting
- Positron's R support, for completions and more
- GitHub Search for R

It's been very cool to see all the ways this one project has been used to enhance #rstats!

2 weeks ago 29 6 1 1
Advertisement
Post image

A Better R Programming Experience Thanks to Tree-sitter ropensci.org/blog/2026/04... #Rstats

2 weeks ago 12 4 0 0
Meme showing a kitten attacked by two monsters. The text says "Every time you use Claude for something a CLI can do, a kitten dies"

Meme showing a kitten attacked by two monsters. The text says "Every time you use Claude for something a CLI can do, a kitten dies"

This, and more, in ropensci.org/blog/2026/04...

2 weeks ago 27 4 1 2

New post on the @ropensci.org blog, "A Better R Programming Experience Thanks to Tree-sitter"

Edited by @etiennebacher.bsky.social, @davisvaughan.bsky.social, Steffi LaZerte

ropensci.org/blog/2026/04...

#RStats

2 weeks ago 16 6 0 1

Not the most important aspect of this cool event but: your 3 names go so well together!

2 weeks ago 0 0 1 0

BASE R GIRLIES OUR TIME HAS COME

Come hang with us, ask Ella questions (I know Isabella and I will), and learn something new. Don't think you use base R? You use it pretty much each and every time you use R! #baseRgirly

Also, we're a delight ✨

2 weeks ago 26 10 3 2
Don't Let AI Write For You

I wonder whether all posts like alexhwoods.com/dont-let-ai-... are written by people who love writing (I do!). 🤔

2 weeks ago 0 0 0 0
Original post on hachyderm.io

March news! 🗞️ #RStats

🌐 rOpenSci Dev Guide 1.0.0: Trilingual and Improved

🙌 Champions Program Update

🚀 R-Universe update

🔎 Software review and usage of AI tools

🤖 Software review bot updates

📆 Coworking

🐦 New package {suwo}

👋 Call for contributions & new maintainers

🗒️ Blog posts!

🧰 […]

3 weeks ago 4 2 0 0
Diff where some code was moved out of f to a helper function g. The diff highlights parts of both functions without matching delimiters.

Diff where some code was moved out of f to a helper function g. The diff highlights parts of both functions without matching delimiters.

Diff where the same code was moved out of f to a helper function g. Difftastic does a better job of highlighting the whole definition of f, and just the name and left arrow defining g. No unmatched delimiters!

Diff where the same code was moved out of f to a helper function g. Difftastic does a better job of highlighting the whole definition of f, and just the name and left arrow defining g. No unmatched delimiters!

Native git diff for a function that got a new argument and whose definition is now on multiple lines because it got too long to fit on one line of 80 characters. Git highlights all the lines as changed.

Native git diff for a function that got a new argument and whose definition is now on multiple lines because it got too long to fit on one line of 80 characters. Git highlights all the lines as changed.

Difftastic diff for a function that got a new argument and whose definition is now on multiple lines because it got too long to fit on one line of 80 characters. Difftastic only highlights the line with the new argument and the comma on the line before that.

Difftastic diff for a function that got a new argument and whose definition is now on multiple lines because it got too long to fit on one line of 80 characters. Difftastic only highlights the line with the new argument and the comma on the line before that.

New post! Better Git diff with difftastic

A diffing tool that understands syntax and can

- ignore formatting changes
- match delimiters in wrappers
- ...

masalmon.eu/2026/03/30/d...

#RStats

3 weeks ago 30 5 0 0
A screenshot showing an R file in a package:

f <- function() 1

and a terminal with the output of "jarl check mypkg". The output in the terminal shows that "f" is reported by Jarl because it's defined but not used anywhere and not exported.

A screenshot showing an R file in a package: f <- function() 1 and a terminal with the output of "jarl check mypkg". The output in the terminal shows that "f" is reported by Jarl because it's defined but not used anywhere and not exported.

A screenshot showing two R files in a package:

#' @examples
#' f()
f <- function() 1

and 

#' @examples
#' f()
f <- function() 2


and a terminal with the output of "jarl check mypkg". The output in the terminal shows that "f" is reported by Jarl because it's defined multiple times.

A screenshot showing two R files in a package: #' @examples #' f() f <- function() 1 and #' @examples #' f() f <- function() 2 and a terminal with the output of "jarl check mypkg". The output in the terminal shows that "f" is reported by Jarl because it's defined multiple times.

Still for package developers, Jarl can find unused functions (meaning not used anywhere in the package and not exported) as well as duplicated function definitions.

(3/4)

3 weeks ago 6 1 2 0
Jarl 0.5.0

#rstats I'm glad to announce Jarl 0.5.0!

Jarl is a very fast R linter, written in Rust. This release brings many improvements and fixes.

See the blog post: www.etiennebacher.com/posts/2026-0...

And the full changelog: jarl.etiennebacher.com/changelog

🧵 to highlight some features below

(1/4)

3 weeks ago 59 12 1 2
Advertisement

New post building on this idea, if you are feeling blue as a developer, build your own stuff. It won't fix everything but it can fix some things. vickiboykis.com/2026/03/04/a...

1 month ago 79 17 2 1