LatinR 2026
November 12, 2026
Arthur Radebaugh, “Closer Than We Think”, 1958
Nearly half of developers show signs of AI skill threat - that their their current competencies will become obsolete due to AI
Human head and torso, horse body.
Human judgement and thinking, with the speed and strength of the horse.
An enhanced human.
e.g. human assisted by AI
Cory Doctorow, via Wes McKinney at posit::conf
Horse head, human legs.
Can’t really do much.
The worst of both worlds.
e.g. AI assisted by human
how can we use AI so we become more capable, and not dependent?
“The Rise of the Computerized School”, Shigeru Komatsuzaki, 1969
🎉
Work with large datasets in R
Work with Parquet files
Mentor curated issues for me.
Read code slowly.
Sketched how pieces fit together.
Only possible working full-time.
Learning by analogy
Work with LLMs directly from R
Working more independently
Getting up to speed faster
Working part-time
Learning aided by AI
SKILL.md files---
name: skill-name
description: What this skill does and when to use it
---
# Contents
Instructions in Markdown describing what the agent should do
But how can I trust the code that I generate?
Understand it!
Lin, X (2023), Exploring the Role of ChatGPT as a Facilitator for Motivating Self-Directed Learning Among Adult Learners
Took the process, customised, and turned it into a skill
A skill for quickly learning about code
Tool: gives the LLM access to information by running R code
The LLM can’t run R. So who called time()? 🤔
What do you want to learn, and why?
How tool calling works in ellmer
Where are you starting from?
I’ve used tools in ellmer before but that’s it
How would you like to learn this?
Running code
How much time do you have?
10 minutes
Primary learning goal: by the end of 10 minutes, be able to explain what happens between asking a question and getting an answer, and where a tool call fits in.
Supporting objective: compare a conversation with and without a tool call and spot the difference
You want to learn by running code, so our resource is an R session with ellmer loaded.
Activity 1: Compare a conversation with and without a tool call
chat$get_turns() to list everything sent back and forth. What extra steps does the tool call add?Without a tool call…
With a tool call…
time <- tool(fun = Sys.time, description = "Get the time", name = "time")
chat$register_tool(time)
chat$chat("what's the time")
#> ◯ [tool call] time()
#> ● #> "2026-11-12 08:43:13"
#> The current time is **8:43:13 AM**.
chat$get_turns()
#> [[1]]
#> <Turn: user>
#> what's the time
#>
#> [[2]]
#> <Turn: assistant>
#> [tool request (toolu_01CW...)]: time()
#>
#> [[3]]
#> <Turn: user>
#> [tool result (toolu_01CW...)]: "2026-11-12 08:43:13"
#>
#> [[4]]
#> <Turn: assistant>
#> The current time is **8:43:13 AM**.With a tool call…
What do you see in the second turn?
The assistant turn is calling time()?
Is it calling it, or requesting it?
Oh. Requesting.
Right. The model never calls anything. It only asks. And what do you see in the third turn?
With a tool call…
There’s a user turn with the result, but I didn’t type that.
So who ran time()?
…ellmer?
And who did it send the result to, and as whom?
To the LLM. As me?
Yes. Why would it need to do that?
So the LLM has what it needs to answer.
Checkpoint before we move on. In your own words: who decides to use the tool, who runs it, and who sees the result?
The LLM decides, ellmer runs it, and the LLM gets the result as if I’d sent it.
That’s the whole mechanism, and you got there yourself. 🎉 Activity 1 done, five minutes under its timebox.
What was most valuable about this session?
Comparing the two conversations side by side.
Noted. I’ll lead with a comparison next time.
Use AI to customise learning to make it work for you
Laboratory set from “Just Imagine”, 1930
March 2026 with Posit Assistant, using Claude Sonnet 4.6 and Claude Opus 4.5
These PRs are sitting entirely unacknowledged, which is both a poor contributor experience and a growing triage burden for maintainers.
Some are substantive pieces of work (look at <list of PRs>) that just didn’t make it through.
😢
🤔
Don’t add judgemental comments about poor contributor experience please, just report the facts.
Hmm… how do you know? These were opened within 3 mins of each other…
Use AI to run experiments cheaply and learn about your reality
Alex Schomburg, cover for “The Exile of Time”, Avalon Books, 1964
“Only submit a PR if you can debug and own the changes yourself”
“Be upfront about AI usage”
“How does <prominent maintainer> say no?”
A proposal
Not a gift
Set boundaries!
You are allowed to say “no” without long justifications
Focus on your own actions, not theirs
“If X then Y”
Change how you work, not who you are
370 BC · Writing
1970s · Calculators
1990s · The internet
www.niccrane.com
https://github.com/thisisnic
https://bsky.app/profile/niccrane.bsky.social