Sign in

Aaron Jacobs

@atheriel.bsky.social
243 followers 79 following 33 posts

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

PostsRepliesMedia
Aaron Jacobs @atheriel.bsky.social · 13/05/2026
This was a colossal amount of work but I could not be happier that #rstats has a serious OpenTelemetry story now.
051
Aaron Jacobs @atheriel.bsky.social · 13/05/2026
This release has some nice ergonomic improvements for #rstats users querying Snowflake or Databricks. I'm excited about the potential of the workload identity functionality in particular.
061
Reposted by Aaron Jacobs
Barret Schloerke @schloerke.com · 10/09/2025
{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
0165
Aaron Jacobs @atheriel.bsky.social · 10/09/2025
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.)
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.
1123
Aaron Jacobs @atheriel.bsky.social · 09/09/2025
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.
1120
Aaron Jacobs @atheriel.bsky.social · 08/09/2025
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.
110
Aaron Jacobs @atheriel.bsky.social · 08/09/2025
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.
100
Aaron Jacobs @atheriel.bsky.social · 08/09/2025
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...
code.visualstudio.com
Extending Workbench
Explain how to extend Visual Studio Code's workbench area with custom UI components
000
Aaron Jacobs @atheriel.bsky.social · 08/09/2025
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:
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".
172
Aaron Jacobs @atheriel.bsky.social · 05/09/2025
... meanwhile, internally, we're like "OH GOD THERE ARE SO MANY UX BUGS TO FIX".
140
Aaron Jacobs @atheriel.bsky.social · 05/09/2025
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!
0213
Aaron Jacobs @atheriel.bsky.social · 05/09/2025
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.
191
Aaron Jacobs @atheriel.bsky.social · 05/09/2025
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.
161
Aaron Jacobs @atheriel.bsky.social · 03/09/2025
Somehow, for the third time in my life, I'm wondering if I need to write a #linux NSS module to solve my problems...
010
Reposted by Aaron Jacobs
Simon P. Couch @simonpcouch.com · 29/08/2025
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...
github.com
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...
0103
Reposted by Aaron Jacobs
Posit @posit.co · 29/08/2025
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...
Collaborate > automate. Databot logo alongside screenshot of Positron.
44915
Reposted by Aaron Jacobs
Posit @posit.co · 28/08/2025
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...
0232
Reposted by Aaron Jacobs
Hadley Wickham @hadley.nz · 25/07/2025
🐘 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....
tidyverse.org
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.
28124
Aaron Jacobs @atheriel.bsky.social · 10/07/2025
Privatelink woes subtweet?
110
Aaron Jacobs @atheriel.bsky.social · 01/07/2025
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...
github.com
Update API endpoint for Vertex AI, use working scope for auth by netique · Pull Request #598 · tidyverse/ellmer
000
Reposted by Aaron Jacobs
Posit @posit.co · 01/07/2025
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
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".
17328
Aaron Jacobs @atheriel.bsky.social · 09/06/2025
Small #rstats improvement for folks interested in RAG with {ragnar} (and just in time for their conference): github.com/tidyverse/ra...
github.com
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 ...
010
Aaron Jacobs @atheriel.bsky.social · 08/06/2025
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}.
192
Aaron Jacobs @atheriel.bsky.social · 08/06/2025
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).
020
Aaron Jacobs @atheriel.bsky.social · 08/06/2025
Currently wiring up a simple #rstats ellmer chatbot to send traces to Langfuse. These LLM observability platforms have some pretty slick UI:
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".
060
Aaron Jacobs @atheriel.bsky.social · 08/06/2025
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.
010
Reposted by Aaron Jacobs
Hadley Wickham @hadley.nz · 03/06/2025
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
tidyverse.org
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()` ...
17526
Aaron Jacobs @atheriel.bsky.social · 04/06/2025
Title of your conf talk?
100
Aaron Jacobs @atheriel.bsky.social · 04/06/2025
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.
160
Reposted by Aaron Jacobs
Charlie Gao @shikokuchuo.net · 14/04/2025
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).
mirai is now an 'enhances' package of the base parallel package
1309
Reposted by Aaron Jacobs
Simon P. Couch @simonpcouch.com · 28/05/2025
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/
1315127
Aaron Jacobs @atheriel.bsky.social · 29/05/2025
Does it still count as conference-driven development if you're not actually going to the conference?
000
Aaron Jacobs @atheriel.bsky.social · 29/05/2025
Both Snowflake and Databricks have made improvements to their LLM APIs in recent months (particularly around tool calling and structured outputs). I'm hoping to surface many of these to #rstats users in the next {ellmer} release.
080
Reposted by Aaron Jacobs
Jeremy Allen @jeremy-data.bsky.social · 27/05/2025
Me and a lot of people from all over the world talk about just how dead R is; like so dead. www.linkedin.com/posts/jeremy...
linkedin.com
#rstats #thewideworldofr #datascience | Jeremy Allen | 132 comments
R is so dead that there are thousands of economists, actuaries, statisticians, bioinformaticists, epidemiologists, biologists, ecologists, geologists, geographers, psychologists, demographers, sociolo...
0112
Reposted by Aaron Jacobs
Hadley Wickham @hadley.nz · 18/05/2025
✨Use llms from #rstats with ellmer ✨Version 0.2.0 is on CRAN now. No blog post yet because I'm about to go on vacation, but in the meantime you can check out the release notes: github.com/tidyverse/el....
github.com
36913
Reposted by Aaron Jacobs
Simon P. Couch @simonpcouch.com · 04/03/2025
odbc 1.6.0 is now on #rstats CRAN! Includes a new helper for Redshift, a hex sticker (finally!), and many QOL improvements for Databricks, Snowflake, MSSQL, etc. Read more: odbc.r-dbi.org/news/index.h...
A hexagonal sticker with an all black background and "odbc" written in layered shades of blue.
03812
Aaron Jacobs @atheriel.bsky.social · 28/02/2025
That is a pretty savage putdown by analogy; hear hear.
000
Aaron Jacobs @atheriel.bsky.social · 28/02/2025
A long-awaited update of the #rstats {odbc} package is now on CRAN. It includes a cool new odbc::redshift() helper I wrote to make it easier to use IAM credentials, plus some #posit Connect goodies. (And thanks to @simonpcouch.com for managing the release!) cran.r-project.org/web/packages...
cran.r-project.org
NEWS
0143
Reposted by Aaron Jacobs
Posit @posit.co · 26/02/2025
We are delighted to announce the release of ellmer, an R package for accessing the power of LLMs in R! ellmer supports a variety of model providers. Chat, tool call, stream API calls, extract structured data, and more! Learn about it here: posit.co/blog/announc... #RStats #AI #LLM
ellmer hex, consisting of a colorful cartoon elephant
810128
Aaron Jacobs @atheriel.bsky.social · 25/02/2025
And if you're watching the {ellmer} changelog carefully, you'll also notice that the development version includes a bunch of improvements for authenticating against Google's Gemini and Vertex AI that will go out in the next release!
010
Aaron Jacobs @atheriel.bsky.social · 25/02/2025
Lastly, {ellmer} now has some powerful integrations with #posit Connect's viewer-based credentials, which should make deploying apps that use LLMs much, much easier. These are powered by a new {connectcreds} package, now also on CRAN: cran.r-project.org/package=conn...
cran.r-project.org
connectcreds: Manage 'OAuth' Credentials from 'Posit Connect'
A toolkit for making use of credentials mediated by 'Posit Connect'. It handles the details of communicating with the Connect API correctly, 'OAuth' token caching, and refresh behaviour.
100
Aaron Jacobs @atheriel.bsky.social · 25/02/2025
These improvements include a set of internal changes that handle caching and credentials that expire much better, a suite of Entra ID features for chat_azure(), and a new chat_snowflake() that can be used to get access to Snowflake's exciting new Claude models.
100
Aaron Jacobs @atheriel.bsky.social · 25/02/2025
I want to highlight that v0.1.1 of {ellmer} has been on CRAN for a few weeks now. This version includes a ton of improvements when using an LLM hosted on Azure, AWS, Databricks, or Snowflake from #rstats -- which is pretty common in enterprise settings. 🧵 ellmer.tidyverse.org/news/index.h...
ellmer.tidyverse.org
Changelog
13111
Reposted by Aaron Jacobs
Kyle Walker @kylewalker.bsky.social · 14/02/2025
{ellmer} is the best #LLM interface in any language, in my opinion, and I'd encourage you to give the new PDF support a try. Learn more: ellmer.tidyverse.org/
ellmer.tidyverse.org
Chat with Large Language Models
Chat with large language models from a range of providers including Claude <https://claude.ai>, OpenAI <https://chatgpt.com>, and more. Supports streaming, asynchronous calls, tool calling, and structured data extraction.
1247
Aaron Jacobs @atheriel.bsky.social · 25/02/2025
I've been happily using Air on new and existing #rstats packages for a few weeks now, and wholeheartedly recommend it!
0131
Aaron Jacobs @atheriel.bsky.social · 24/01/2025
Thanks to feedback from Tony Sokolov, @jameshwade.bsky.social, and @davzim.bsky.social, I've been able to improve support for Entra ID authentication in the #rstats {ellmer} package greatly this week. We now support Azure service principals and browser-based authentication for Azure OpenAI chatbots!
040
Aaron Jacobs @atheriel.bsky.social · 17/01/2025
Snowflake announced GA support for Claude 3.5 Sonnet through their Cortex product a few days ago, and I took a first pass at bringing this to #rstats users via {ellmer} today: github.com/tidyverse/el...
github.com
Add a new chat_snowflake() provider by atheriel · Pull Request #258 · tidyverse/ellmer
This commit adds chat_snowflake() for chatting with models hosted through Snowflake&#39;s Cortex LLM REST API: chat &lt;- chat_snowflake() chat$chat(&quot;Tell me a joke in the form of a SQL query....
081