Henrik Bengtsson's Avatar

Henrik Bengtsson

@henrikbengtsson.bsky.social

CS/Math Stat/UCSF Assoc Prof R Foundation/R Consortium https://futureverse.org, https://mastodon.social/@henrikbengtsson #RStats

550 Followers  |  18 Following  |  95 Posts  |  Joined: 22.09.2023
Posts Following

Posts by Henrik Bengtsson (@henrikbengtsson.bsky.social)

My version: With CRAN, the package maintainer pays the price for end users to have a smooth ride, instead of vice versa

03.03.2026 23:29 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

Used StickerApp last year. Happy with em. Had no idea but they ship out of MalmΓΆ, Sweden ~10 days to US

I rushed in order that arrived just before catching a flight to teach workshop in Sweden. I could have walked to their place in MalmΓΆ when I landed - turns out my brother even knows them. Haha :)

02.03.2026 21:57 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It's unfortunate that data.table seems to require a list, as async() creates, because otherwise:

data[, .(x = future(long(x))), by = .(group1, group2)] |> value()

would have worked

11.02.2026 19:20 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not sure, but I think

value.default <- function(x, ...) x

was in the 'future' package at some point, but I then cleaned it out + protect against unexpected mistakes

11.02.2026 19:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

u caught my curiosity;

async <- function(...) {
list(future(..., envir = parent.frame(1)))
}

value.default <- function(x, ...) x

value.data.table <- function(x, ...) {
x[, names(.SD) := lapply(.SD, value, reduce = `c`)][]
}

data[, .(x = async(long(x))), by = .(group1, group2)] |> value()

11.02.2026 19:17 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

πŸ“£ The useR! 2026 committee invites global R users and developers to submit abstracts for talks, panels, posters, and tutorials!

Submissions are peer-reviewed based on content and balance.

You're welcome to apply!
Find more at:
user2026.r-project.org/call/

#useR2026 #DataScience #Poland #Warsaw

11.02.2026 12:36 β€” πŸ‘ 10    πŸ” 8    πŸ’¬ 0    πŸ“Œ 0

Use can use future::value(x) instead of lapply(x, future::value). It's actually the preferred way if there are several futures

10.02.2026 12:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

beep ... beep ... beep ... beep beep beep Beep BEEP BEEP BEEP BEEP BEEP

07.02.2026 21:27 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

NSF GRFP applicants (and mentors): Was your application Returned Without Review and deemed ineligible despite fitting in the allowed topics?
1) Write NSF
2) Write your Congressperson
3) CC us at grfp@grant-witness.us so we can compile + follow up

Details and template at grant-witness.us/grfp-letter

02.02.2026 17:58 β€” πŸ‘ 159    πŸ” 199    πŸ’¬ 6    πŸ“Œ 17
Du levande: Scenbyggen
YouTube video by Studio24Sto Du levande: Scenbyggen

Many scenes are set indoors in his small studio in Stockholm - even the ones that look like they're outside - impressive scenography (www.youtube.com/watch?v=GK66...). He uses ordinary people as actors in this commercials and movies (archive.org/details/bein...)

02.02.2026 06:17 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Roy Andersson Movies List | Rotten Tomatoes Explore the complete filmography of Roy Andersson on Rotten Tomatoes! Discover every movie they have been credited in today.

He is "known for his distinctive style of absurdist humor and melancholic depictions of human life." Who can resist movie titles such as 'You, the Living' and a 'A Pigeon Sat on a Branch Reflecting on Existence'? Highly recommended - they'll grow on you (www.rottentomatoes.com/celebrity/ro...)

02.02.2026 06:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Studio24Sto Roy Andersson Filmproduktion/Studio 24

Above commercial was made by Roy Andersson, a fantastic film director, who started out by creating brilliantly commercials (www.youtube.com/watch?v=7FN8...) to fund his movies (In Sweden we only had commercials in the cinemas before the movie started - that was part of going to the movies)

02.02.2026 06:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

When you dawdle submitting your #RStats package to CRAN and you end up behind {dplyr} in the reverse-dependency check queue ...

nx10.dev/cransubs/

02.02.2026 02:28 β€” πŸ‘ 14    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Looking at github.com/search?q=org..., we can see that there's have been 1300+ issues posted there by mistake

20.01.2026 22:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@gaborcsardi.org , would it be possible to turn off all issue trackers under the github.com/cran organization?

I, and others, post issues there by mistake. Despite knowing it, it's so easy to miss that you're in that organization, e.g. you end up there from a web search.

#RStats

20.01.2026 22:37 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Promotional poster for the useR! 2026 Conference in Warsaw, scheduled for July 6–9 at the Warsaw School of Economics and online. The right side features a portrait of keynote speaker Kari Jordan, a Black woman with bright teal curly hair and a warm smile, wearing a pink blazer. The left side displays the conference title and four colorful squaresβ€”blue, yellow, orange, and purpleβ€”each containing a black geometric pattern representing iterations of a Sierpinski carpet fractal.

Promotional poster for the useR! 2026 Conference in Warsaw, scheduled for July 6–9 at the Warsaw School of Economics and online. The right side features a portrait of keynote speaker Kari Jordan, a Black woman with bright teal curly hair and a warm smile, wearing a pink blazer. The left side displays the conference title and four colorful squaresβ€”blue, yellow, orange, and purpleβ€”each containing a black geometric pattern representing iterations of a Sierpinski carpet fractal.

We are thrilled to announce Dr. Kari L. Jordan (@drkariljordan.carpentries.org) as a Keynote Speaker for useR! 2026 in Warsaw! Dr. Jordan will from her knowledge and experience deliver her talk: "The Work Behind the Work: Sustaining R Through Community"

user2026.r-project.org

#rstats #useR2026

20.01.2026 18:42 β€” πŸ‘ 29    πŸ” 14    πŸ’¬ 0    πŸ“Œ 2
Preview
Our contribution to a global environmental standard for AI | Mistral AI

It does not, no. Mistral AI is the closest-to-frontier org that has released a comprehensive environmental impact report including data along those lines (that I know of) mistral.ai/news/our-con...

20.01.2026 16:19 β€” πŸ‘ 13    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
A bar chart showing the electricity use of several daily activities with the subtitle "The 'typical query' is not a useful way to think about coding agents' energy use." The bar for a 'typical ChatGPT query' is not even visible. My median Claude Code session is somewhere between the average US household per minute and toasting bread for three minutes. My median day with Claude Code is something like running a dishwasher.

A bar chart showing the electricity use of several daily activities with the subtitle "The 'typical query' is not a useful way to think about coding agents' energy use." The bar for a 'typical ChatGPT query' is not even visible. My median Claude Code session is somewhere between the average US household per minute and toasting bread for three minutes. My median day with Claude Code is something like running a dishwasher.

Whenever I read discourse on AI energy/water use that focuses on the "median query," I can't help but feel misled. Coding agents like Claude Code send hundreds of longer-than-median queries every session, and I run dozens of sessions a day.

On my blog: www.simonpcouch.com/blog/2026-01...

20.01.2026 14:38 β€” πŸ‘ 375    πŸ” 79    πŸ’¬ 20    πŸ“Œ 22
Post image

December was an exciting month for rOpenSci! They proudly continued supporting LatinR as a community partner in 2025, and their community manager, Yani, was recently interviewed on our new NumFOCUS podcast, Give Me 5! You can watch the 5-minute episode now: youtu.be/SqafLv6CYPI?...

06.01.2026 17:21 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Statistics for Every Body: Inclusive Data Communication for Audiences with Visual and Auditory Impai

πŸ“’ REMINDER! πŸ“’

Less than two weeks to go for the "Statistics for Every Body: Inclusive Data Communication" on January 28, 2026!

πŸ”—Get full event details and register here: bit.ly/Stats4Every1

#StatsSky #DataVis #RStats #InclusiveStats
@royalstatsoc.bsky.social

16.01.2026 12:51 β€” πŸ‘ 5    πŸ” 6    πŸ’¬ 1    πŸ“Œ 0

R is a truly beautiful language! ✨

#RStats #futureverse #StayTuned

14.01.2026 23:53 β€” πŸ‘ 36    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Exciting news πŸŽ‰ The 2026 Cascadia R Conference is happening in Portland, Oregon on June 27, 2026! The Call for Presentations and Early Registration is now OPEN! Have a cool project in #rstats? Share with the Cascadia community! 🌲
Submit here: cascadiarconf.com/cfp/
#CascadiaR #DataScience #rstats

10.01.2026 17:46 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 0    πŸ“Œ 1

I am very happy to announce that I will be a keynote speaker at useR!2026 in Warsaw!
Hope to see many incredible members of #RStats community in person there πŸ˜€

10.01.2026 19:12 β€” πŸ‘ 63    πŸ” 9    πŸ’¬ 2    πŸ“Œ 0
The Comprehensive R Archive Network

The CRAN submit page is my go to for this: cran.r-project.org/submit.html

06.01.2026 04:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

R parallelization solutions are basically fancy orchestrators for what you otherwise would do manually, e.g. save relevant variables & code to file and then manually run that in separate R sessions. When done, save all results to file and read it back in in the main R session. Nothing magic 3/

05.01.2026 16:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is a mental model that is useful for most multi-*process* parallelization frameworks out there. There are some rare shared-memory exceptions, but we're not really using them in R. 2/

05.01.2026 15:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I find it helpful to imagine that each parallel worker runs on a separate computer isolated far away from the others spread across the world. They share nothing with each other or the main R session. They receive tasks in the mail and send results back when done in the mail. 1/

05.01.2026 15:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

TIL If a global variable gets altered in a foreach loop, each worker needs to have its own copy

#rstats

05.01.2026 02:51 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Possible a new record for me;

CRAN submission of {futureverse} took just six (6) minutes from start to finish πŸ‘

(it's a package with no reverse dependencies) #RStats

20.12.2025 20:14 β€” πŸ‘ 17    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
My First Contribution to base R – Rhian Davies How an R Dev Day helped me go from feeling intimidated by base R to making my first small contribution.

One final contributing to base R post from me today, sharing a blog post from Rhian on her experience of participating in an R Dev Day.

rhian.rbind.io/posts/2025-1...

@statsrhian.bsky.social #RStats

10.12.2025 18:05 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0