Aaron Jacobs's Avatar

Aaron Jacobs

@atheriel.bsky.social

Software engineer building products at @posit.co. Occasional open-source #rstats work. Obscure Linux/ZFS stuff on the side.

191 Followers  |  79 Following  |  31 Posts  |  Joined: 13.01.2025  |  1.8644

Latest posts by atheriel.bsky.social on Bluesky


{otel} + #rstats is becoming a crazy partnership.
This project has driven me to use/write {promises} in ways that makes my 🧠 ache πŸ˜…. The reward is worth it!

See you at #PositConf2025 where I'll talk about this in more detail

10.09.2025 19:13 β€” πŸ‘ 17    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
A screenshot showing the Logfire tracing UI with traces from a Shiny app using ellmer, httr2, and mirai on the left and some attributes on the right.

A screenshot showing the Logfire tracing UI with traces from a Shiny app using ellmer, httr2, and mirai on the left and some attributes on the right.

A Shiny chatbot with a conversation about the weather in Atlanta, GA. It clearly serves as the source of the traces in the first image.

A Shiny chatbot with a conversation about the weather in Atlanta, GA. It clearly serves as the source of the traces in the first image.

More #rstats + OpenTelemetry news: @schloerke.com finally got all of the async issues in {ellmer} and {shiny} sorted out and tracing now works!

Here's what combining {shiny} + {ellmer} + {httr2} + {mirai} + {otel} looks like today.

(All credit for the screenshots to @schloerke.com.)

10.09.2025 19:06 β€” πŸ‘ 11    πŸ” 3    πŸ’¬ 1    πŸ“Œ 1

The internals of {ellmer} are like the final boss of modern #rstats package codebases: S7, httr2, promises, and coro *everywhere*. It really shows how to push the limit of what can be done with R.

09.09.2025 17:06 β€” πŸ‘ 12    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think that's true! Isn't that good, though? The whole point of Positron was the desire to deliver something more than what VS Code could offer, even with high-quality extensions.

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

What do you mean by "VS Code support"? I don't think we've had much involvement with vscode-r or {languageserver} at all; both seem like community efforts.

08.09.2025 18:41 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Extending Workbench Explain how to extend Visual Studio Code's workbench area with custom UI components

Positron inherits much of the extension development experience from VS Code. In my experience it feels pretty good.

However, you are fairly limited in the kind of custom UI you can inject. Best to look here to see what's (generally) possible first: code.visualstudio.com/api/extensio...

08.09.2025 18:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A screenshot showing the Logfire tracing UI with traces from an HTTP client on the left and some attributes on the right. The trace names and attributes indicate that they are emitted by the R package "httr2".

A screenshot showing the Logfire tracing UI with traces from an HTTP client on the left and some attributes on the right. The trace names and attributes indicate that they are emitted by the R package "httr2".

More #rstats OpenTelemetry tidbits: I've revived the PR that adds instrumentation to the {httr2} package.

Here is what is looks like to run {httr2}'s own test suite while looked up to Logfire:

08.09.2025 17:44 β€” πŸ‘ 7    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

... meanwhile, internally, we're like "OH GOD THERE ARE SO MANY UX BUGS TO FIX".

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

There's been a big push at Posit this summer to get high-quality OpenTelemetry support out to the #rstats community (a longstanding dream of mine).

I think {mirai} is the first package release to showcase this work, and as per usual with @shikokuchuo.net, it was done in record time!

05.09.2025 18:32 β€” πŸ‘ 21    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

The other VS Code forks (Cursor, etc.) don't really seem to have leaned into this extensibility by adding APIs of their own, but #Positron has, and it's been a ton of fun to build #rstats tooling in Typescript because of this.

05.09.2025 15:58 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

In the last few months I've worked a fair bit in Typescript building "VS Code" extensions for #Positron. It's my first time using that language or the extension APIs, and I have to say that the teams at Microsoft have done some incredible work on both.

05.09.2025 15:57 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Somehow, for the third time in my life, I'm wondering if I need to write a #linux NSS module to solve my problems...

03.09.2025 17:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Release odbc 1.6.2 Β· r-dbi/odbc Fix hang when parsing exceptionally long database errors (#916). Fix retrieving multiple result sets from parametrized queries in cases when some parameters yield empty results (#927). Databric...

odbc 1.6.2 is now on #rstats CRAN! A good few QOL improvements, especially for Databricks and Snowflake users: github.com/r-dbi/odbc/r...

29.08.2025 13:22 β€” πŸ‘ 10    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Collaborate > automate. Databot logo alongside screenshot of Positron.

Collaborate > automate. Databot logo alongside screenshot of Positron.

Introducing Databot: an AI assistant for exploratory data analysis in #Python and #RStats!

A research preview in Positron, Databot is a tireless pair programmer to help you explore data.

Learn more about this tool and our philosophy behind it:

πŸ€– posit.co/blog/introdu...
⚠️ posit.co/blog/databot...

29.08.2025 14:03 β€” πŸ‘ 49    πŸ” 15    πŸ’¬ 4    πŸ“Œ 3
Video thumbnail

Announcing the Posit Publisher VS Code extension!

This new tool makes it easy for #RStats and #Python users to deploy data science content, like Shiny apps, Quarto docs, and Jupyter notebooks, from #VSCode and Positron directly to Posit Connect.

Learn more and install open-vsx.org/extension/po...

28.08.2025 18:07 β€” πŸ‘ 23    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
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 β€” πŸ‘ 81    πŸ” 24    πŸ’¬ 2    πŸ“Œ 2

Privatelink woes subtweet?

10.07.2025 19:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Update API endpoint for Vertex AI, use working scope for auth by netique Β· Pull Request #598 Β· tidyverse/ellmer

We're having a hard time figuring out the correct (minimal-permission) API scope for using Vertex AI from the #rstats {ellmer} package. If you have access to Vertex (we don't) and want to test, here is where to start:

github.com/tidyverse/el...
github.com/tidyverse/el...
github.com/tidyverse/el...

01.07.2025 14:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 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    πŸ” 28    πŸ’¬ 1    πŸ“Œ 1
Preview
Add support for using embedding models from Databricks by atheriel Β· Pull Request #45 Β· tidyverse/ragnar Databricks hosts a couple of dedicated text embedding models through their Foundation Models API. This commit introduces embed_databricks() to give ragnar users access to them. Note that this is a ...

Small #rstats improvement for folks interested in RAG with {ragnar} (and just in time for their conference): github.com/tidyverse/ra...

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

For those following the #rstats {ellmer} package: I got the chat_databricks() and chat_snowflake() providers working with tool calling this past week. IMHO this means these providers are no longer toys: they can be used with RAG (via {ragnar}) and other complex tasks like @simonpcouch.com's {btw}.

08.06.2025 22:45 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Post image

Second pass: traces from a RAG in Langfuse constructed using both #rstats {ragnar} and {ellmer}. This shows a tool call out to a text embedding model as well as a general-purpose one, which is a bit more realistic (and interesting).

08.06.2025 22:31 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A screenshot showing a trace in Langfuse. Visible are chat completions and their underlying HTTP requests, a tool call span, and a root span called "invoke_agent".

A screenshot showing a trace in Langfuse. Visible are chat completions and their underlying HTTP requests, a tool call span, and a root span called "invoke_agent".

Currently wiring up a simple #rstats ellmer chatbot to send traces to Langfuse. These LLM observability platforms have some pretty slick UI:

08.06.2025 17:13 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

OpenTelemetry is a hugely popular collection of SDKs and specifications for vendor-neutral observability, but that doesn't sound all that exciting in isolation. I'd suggest watching some demos for distributed tracing with one of the big platforms that implement it, e.g. Grafana Tempo.

08.06.2025 17:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
ellmer 0.2.0 ellmer 0.2.0 lands with a swag of upgrades: Garrickβ€―Aden‑Buie joins the team, we make a couple of breaking changes, and add serious scale with `parallel_chat()` and `batch_chat()`. A new `params()` ...

Want to easily use LLMs from R? ellmer 0.2.0 provides:

β€’ Batch & parallel processing
β€’ A universal parameter interface
β€’ Cost tracking
β€’ Support for Mistral, Hugging Face, & Portkey

And much more! Read all about it at: www.tidyverse.org/blog/2025/05... #rstats

03.06.2025 16:34 β€” πŸ‘ 75    πŸ” 27    πŸ’¬ 1    πŸ“Œ 0

Title of your conf talk?

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

Thanks to some great work from @gaborcsardi.org my longstanding dream of bringing high-quality OpenTelemetry tooling to #rstats is starting to get off the ground.

04.06.2025 21:19 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
mirai is now an 'enhances' package of the base parallel package

mirai is now an 'enhances' package of the base parallel package

New in #rstats R4.5.0: `parallel::makeCluster(6, "MIRAI")` creates a parallel mirai cluster with 6 nodes. Yes that's right, mirai is now officially a base R cluster type!

mirai.r-lib.org

Result of work from the R Project Sprint in Warwick 2023 in collaboration with Luke Tierney (R Core).

14.04.2025 20:08 β€” πŸ‘ 30    πŸ” 9    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Introducing acquaint, an R package that turns your R sessions into a Model Context Protocol (MCP) server. This allows MCP-enabled tools like Claude Desktop and Claude Code to run #rstats code _in your active R sessions_ to explore objects, read documentation, etc.

posit-dev.github.io/acquaint/

28.05.2025 15:43 β€” πŸ‘ 149    πŸ” 27    πŸ’¬ 12    πŸ“Œ 7

Does it still count as conference-driven development if you're not actually going to the conference?

29.05.2025 21:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@atheriel is following 20 prominent accounts