RSS Parrot

BETA

🦜 Maëlle's R blog on Maëlle Salmon's personal website

@masalmon.eu.post@rss-parrot.net

I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline! Brought to you by the RSS Parrot.

---

Recent content in Maƫlle's R blog on Maƫlle Salmon's personal website

Your feed and you don't want it here? Just e-mail the birb.

Site URL: masalmon.eu/post/

Feed URL: masalmon.eu/post/index.xml

Posts: 11

Followers: 1

How to open files, folders, websites in R

Published: June 25, 2025 00:00

Coming to you from France, a post about Mise en place for R projects. In a less francophone phrasing: to get to work on something you have to open that thing, be it a script or a project or a website. The easier that is, the faster you get to work. In this…

Cover and modify, some tips for R package development

Published: September 24, 2024 00:00

I’ve recently been dealing with legacy code refactoring both in theory and in practice: while I’m continuing some work on the igraph R package, I’ve started reading Working Effectively with Legacy Code by Michael Feathers, that had been in my to-read pile…

Create and use a custom roxygen2 tag

Published: September 3, 2024 00:00

You might know that it’s possible to extend roxygen2 to do all sorts of cool things including but not limited to: documenting your internal functions for developers only (that’s devtag by my cynkra colleague Antoine Fabri), recording your following…

Does my test really validate a bug fix? Check it with git cherry-pick

Published: August 29, 2024 00:00

Earlier this year I wrote a post about git worktree that allows you to load different versions of an R package at once on your computer. To keep with the ā€œjuggle between versions of a codebase with Git plant-related commandsā€ theme, let me show you how I…

Get your codebase lint-free forever with lintr

Published: August 28, 2024 00:00

Writing good code is hard. Some aspects get easier with experience – although I observe that I consistently forget some things. šŸ™ˆ Other aspects can be tackled through code review – although your reviewer’s time will be better spent on design questions than…

Extracting names of functions defined in a script with treesitter

Published: July 18, 2024 00:00

Coming back from a conference, we might be excited to install and try out the cool things we have heard about. I, going against the stream 🐟, decided to experiment with a tool I have not heard about last week, as I unfortunately missed Davis Vaughan’s talk…

Extracting all links from my slidedeck

Published: July 16, 2024 00:00

Last week after my useR! talk, someone I had met at the R-Ladies dinner asked me for a list of all the links in my slides. I said I’d prepare it, not because I’m a nice person, but because I knew it’d be an use case where the great tinkr package would…

Hack your way to a good Git history

Published: June 11, 2024 00:00

I’ve now explained on this blog why it’s important to have small, informative Git commits1 and how I’ve realized that polishing history can happen in a second phase of work in a branch. However, I’ve more or less glossed over how to craft the history in a…

Why you need small, informative Git commits

Published: June 3, 2024 00:00

ā€œMake small Git commits with informative messagesā€ is a piece of advice we hear a lot when learning Git. That’s why we might want to sometimes rewrite history in a branch. In this post, I’d like to underline three main (šŸ˜‰) reasons why you’ll be happy you,…

What I edit when refactoring a test file

Published: May 23, 2024 00:00

I’m currently refactoring test files in a package. Beside some automatic refactoring, I am also manually updating lines of code. Here are some tips (or pet peeves, based on how I look at it / how tired I am 😁) Prequel: please read the R packages book The…

Automate code refactoring with {xmlparsedata} and {brio}

Published: May 15, 2024 00:00

Once again a post praising XML. šŸ˜‡ These are notes from a quite particular use case: what if you want to replace the usage of a function with another one in many scripts, without manual edits and without touching lines that do not contain a call to replace?…