Sign in

Jonathan Carroll

@jonocarroll.fosstodon.org.ap.brid.gy
137 followers 3 following 121 posts

#rstats primarily but learning #haskell, #julia, #rust, #python, #APL, #lisp, and many others :rstats: :haskell: :julia: :rust: :apl: :python: :bash: Also […] 🌉 bridged from ⁂ fosstodon.org/@jonocarroll, follow @ap.brid.gy to interact

PostsRepliesMedia
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 01/10/2026
Oh, no! My R package {safespace} is in a broken state - won't someone (new to PRs) help me fix it??? I'm renewing my offer to guide newbies through the R package building / fixing / reviewing process during Hacktoberfest - see this post […]
fosstodon.org
Original post on fosstodon.org
059
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 14/09/2026
The latest issue of @rweekly is live! rweekly.org/2026-W38.html The week's highlights: 🔪 Slicing in tidyomics by @mikelove ⚠️ Prevent accidental many-to-many joins in R with synthetic sports odds by Jacob Galperin ⚛️ Positron September Release Highlights by @juliasilge As always […]
fosstodon.org
Original post on fosstodon.org
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 18/08/2026
Naa marni (Hello everyone) - I'm excited to share that I've started a new position as Bioinformatics Engineer, indigenous genomics at Black Ochre Data Labs within The Kids Research Institute Australia (formerly Telethon Kids Institute) working to reduce health inequality through the power of […]
fosstodon.org
Original post on fosstodon.org
020
Reposted by Jonathan Carroll
rOpenSci @handle.invalid · 28/07/2026
Coworking and Office Hours next week! Theme: Vale and Text Linting Tuesday August 4th 09:00 Australia Western (01:00 UTC) Join @jonocarroll and @steffilazerte - General coworking - Read up on text linting and learn more about vale (vale.sh) - Setup a linting framework ( […]
hachyderm.io
Original post on hachyderm.io
002
Reposted by Jonathan Carroll
Steffi Jên 🏴󠁧󠁢󠁷󠁬󠁳󠁿🏳️‍⚧ @steffi.toot.wales.ap.brid.gy · 26/07/2026
#AskFedi So, I fell off my bike - stupid mistake on my part - and broke my arm. I've now got a fair bit of unexpected free time while it heals and I'm quite restricted as to what I can do. #Reading is still possible though, so long as it's ebooks on my phone. History and science nonfiction […]
toot.wales
Original post on toot.wales
414
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 23/07/2026
Fahrenheit 451: Keeping in mind that this was published over 70 years ago, it's remarkably contemporary. The story itself is okay, but the message beneath it is very nicely presented, and I had forgotten how beautiful the evocative descriptions were.
A highlighted page from Fahrenheit 451 describing an approach to placating the masses which seems eerily familiar to modern times:

If the Government is inefficient, top-heavy, and tax-mad, better it be all those than that people worry over it. Peace, Montag. Give the people contests they win by remembering the words to more popular songs or the names of state capitals or how much corn Iowa grew last year. Cram them full of non-combustible data, chock them so damned full of "facts' they feel stuffed, but absolutely "brilliant' with information. Then they'll feel they're thinking, they'll get a sense of motion without moving. And they'll be happy, because facts of that sort don't change. Don't give them any slippery stuff like philosophy or sociology to tie things up with. That way lies melancholy.
100
Reposted by Jonathan Carroll
Niki @nikitonsky.mastodon.online.ap.brid.gy · 21/07/2026
You are absolutely right! I should not have injured a human being or, through inaction, allowed a human being to come to harm!
31384
Reposted by Jonathan Carroll
Niki @nikitonsky.mastodon.online.ap.brid.gy · 20/07/2026
I am looking for work! Clojure, or, maybe, something native, closer to the metal. RT for reach please 🙏 tonsky.me/blog/work-2026
tonsky.me
Looking for work
Hey, Niki here. This is a bit unusual. My sabbatical is coming to an end, and I am looking for a new opportunity. Full-time or contract, startup or research, remote or Berlin, individual contributor, ideally—tight team, ambitious product. I am a software engineer first and foremost with 20+ years of experience. I work on technically challenging products, foundational technology, dev tools. I’ve been doing Clojure and web recently, but I'm also very excited to explore closer-to-the-metal programming. I have an eye for design, user interfaces, UX, DX. I would love to work with a team that takes interface quality seriously. Or to work with graphics! I am pretty sure I am good at explaining stuff, including what we are building, why, why this way, why is it important, etc. For example. The overarching theme is to understand computers deeply, and then use that to make better and simpler software. If you care about that too, we might be a great match! # Recent work Instant DB is a US startup building a modern Firebase. I worked on the sync algorithm, performance, DX. A summary of my commit log. Roam Research is an OG personal knowledge manager. I worked on database optimization and a plugin system. At JetBrains, I developed a new Skia renderer for Fleet and Jetpack Compose Desktop. I’ve built many open-source libraries, including a database, a GUI toolkit, a Clojure dev environment, a React wrapper, a well-known font... More recently, Clojure+ gives you a taste of my approach to DX, and Fast EDN—to performance. I maintain several active projects — AlleKinos.de, Grumpy Website, this site. If you want to dive deeper, here’s the usual stuff: Projects / Talks / LinkedIn / GitHub # Why this post? It’s an attempt to reach beyond my immediate network. I’ve been doing Clojure for a long time, and now want to explore. If you are working on a compiler, a database, an IDE, a programming language or another technically ambitious product, touching graphics, typography, algorithms, low-level programming, and you think my experience can help, let’s talk: niki@tonsky.me.
21437
Reposted by Jonathan Carroll
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 07/07/2026
A long shot, but the local opportunities seem a bit thin at the moment. I'm available for hire if you're looking for #rstats package development, maintenance, translation, etc... Need some help implementing a solution? Want to productionise a script into a robust package? Wish a third-party […]
fosstodon.org
Original post on fosstodon.org
049
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 07/07/2026
A long shot, but the local opportunities seem a bit thin at the moment. I'm available for hire if you're looking for #rstats package development, maintenance, translation, etc... Need some help implementing a solution? Want to productionise a script into a robust package? Wish a third-party […]
fosstodon.org
Original post on fosstodon.org
049
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 01/07/2026
Open resources for the win: jcarroll.xyz/2026/07/01/open-resour…
jcarroll.xyz
Open resources for the win
I love community projects that accept submissions - I just finished reading ‘The Trial’ by Franz Kafka courtesy of Project Gutenberg and right at the end there was this line The gentlemen nodded, one of them indicated the other with the top hand now in his hand. which didn’t read right to me (top hand?). The men are introduced as wearing top hats; surely that’s what is supposed to be there.
100
Reposted by Jonathan Carroll
rOpenSci @handle.invalid · 30/06/2026
June news 🗞️ #RStats 🌟 Yanina Joins the 2026 Sovereign Tech Fellowship 🙏 New editors Ronny Hernandez Mora, Joel Nitta, and Nick Tierney 📑 A new guide: Organizing Events for First-time Contributors ✍️ Champions Program update 🚀 R-Universe updates 👀 Software Peer-Review updates 🎂 […]
hachyderm.io
Original post on hachyderm.io
023
Reposted by Jonathan Carroll
Kit Bashir @unixbigot.aus.social.ap.brid.gy · 30/06/2026
Oh HEY, tech frens. One of my clients just showed up, bought me lunch, and asked "I know you offer pre-paid discount consulting; it's the last day of the financial year, I want to know, can I buy a chunk of hours now to use next year, I have budget left over and I need to spend it today". I of […]
aus.social
Original post on aus.social
016
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 30/06/2026
The latest issue of @rweekly is now live! rweekly.org/2026-W27.html Highlights this week: - 🗳️ United Kingdom prime ministers by @peter_ellis - 💸 A reinsurance pricing tool, built without code by Christoph Sax - 📺️ From Data Analysis to Publication: Reproducible Research with R and […]
fosstodon.org
Original post on fosstodon.org
000
Reposted by Jonathan Carroll
highly praised and little read @hannah.posts.rat.pictures.ap.brid.gy · 28/06/2026
Each broom agent can spawn additional, autonomous broom agents, each with their own pails. This allows apprentices to accelerate monotonous water-fetching tasks and save their time and energy for more interesting and useful work
4132139
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 08/06/2026
Hazel hazel.org is very cool - tooltips used to probe intermediate states of functions. I know of the breakerofchains package for R, but is there one that adds this sort of overlay to a compatible editor (e.g. VSCode/positron)? This example of course […] [Original post on fosstodon.org]
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 07/06/2026
RE: mastodon.social/@ulrich/11669286138… I had never switched over to the faster version (I was not aware it was a mere `ln -s` away) but on a M3 MBP I can confirm the numbers in the post - massive speedup!!!
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 25/05/2026
The latest issue of @rweekly is now live! rweekly.org/2026-W22.html Highlights: - :gitlab: Deploying Quarto documents with GitLab by @nrennie - :python: Functions over Idioms - Writing R in Python by @jonocarroll - 🧪 muttest 0.2.0: More Mutators, Better Reporting, and Parallel […]
fosstodon.org
Original post on fosstodon.org
011
Reposted by Jonathan Carroll
Reginald @raganwald.social.bau-ha.us.ap.brid.gy · 22/05/2026
A joke I used to tell every coöp student and early-career person I interviewed: “We only hire senior developers. The trick is, we hire them earlier in their careers.” The same thing, without trying to be hip: “Senior engineers are what you get when you hire a junior, give them interesting […]
social.bau-ha.us
Original post on social.bau-ha.us
1013
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 22/05/2026
I keep trying to use #rstats functions like table() and which() when I'm writing #python but those don't exist... until now jcarroll.com.au/2026/05/22/function… The rfuns package is live on pypi (my very first python package) and includes python-native functions with […]
fosstodon.org
Original post on fosstodon.org
083
Reposted by Jonathan Carroll
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 21/05/2026
Linting prose around code with vale: jcarroll.xyz/2026/05/21/linting-pro…
jcarroll.xyz
Linting prose around code with vale
You may be familiar with the idea of linting for code, e.g. via {lintr} in R which “checks for adherence to a given style, identifying syntax errors and possible semantic issues.” It’s super helpful both for ensuring that your code meets your standards, but also when working in a team; no more arguing over nits in PRs about code style — it can be checked against your style guide rules automatically and enforced with tools like {styler}.
122
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 21/05/2026
Linting prose around code with vale: jcarroll.xyz/2026/05/21/linting-pro…
jcarroll.xyz
Linting prose around code with vale
You may be familiar with the idea of linting for code, e.g. via {lintr} in R which “checks for adherence to a given style, identifying syntax errors and possible semantic issues.” It’s super helpful both for ensuring that your code meets your standards, but also when working in a team; no more arguing over nits in PRs about code style — it can be checked against your style guide rules automatically and enforced with tools like {styler}.
122
Reposted by Jonathan Carroll
abadidea @0xabad1dea.infosec.exchange.ap.brid.gy · 16/05/2026
after getting Many replies and having seen Many other peoples' posts, I'm going to gently remind everyone that: 1) if you want to post a Take on a long post and/or form a strong opinion about it that informs your actions going forward, remember to actually […] [Original post on infosec.exchange]
text printed in a book: You are not compelled to form any opinion about this matter before you, nor to disturb your peace of mind at all. Things in themselves have no power to extort a verdict from you.

Added meme text: Marcus Aurelius has already released you from the obligation to have a take
3416
Reposted by Jonathan Carroll
Ben Zipperer @benzipperer.org · 05/05/2026
for the targets #rstats fans: highly recommend some targets-specific keybindings for Positron/VSCode
{
    "key": "Ctrl+T M",
    "command": "workbench.action.executeCode.console",
    "args": {
        "langId": "r",
        "code": "targets::tar_make()",
        "focus": false
    }
},
{
    "key": "Ctrl+T T",
    "command": "workbench.action.executeCode.console",
    "args": {
        "langId": "r",
        "code": "tflow::rs_make_target_at_cursor()",
        "focus": false
    }
},
{
    "key": "Ctrl+T R",
    "command": "workbench.action.executeCode.console",
    "args": {
        "langId": "r",
        "code": "targets::rstudio_addin_tar_read()",
        "focus": false
    }
},
{
    "key": "Ctrl+T L",
    "command": "workbench.action.executeCode.console",
    "args": {
        "langId": "r",
        "code": "targets::rstudio_addin_tar_load()",
        "focus": false
    }
}
1144
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 05/05/2026
Remembered that my library card gets me access to LinkedIn Learning - might as well get some training and certifications while I look for my next work opportunity. Followed along with the video in codespaces, learned a bit. Completed the course. Got a certificate without my name on it […]
fosstodon.org
Original post on fosstodon.org
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 04/05/2026
I've been looking into dbt for data engineering and wanted to flesh out what the similarities and differences were to just using {targets} - I learned lots about both of them! I wrote up my findings in this post […]
fosstodon.org
Original post on fosstodon.org
263
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 03/05/2026
Ooh, that's satisfying
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 03/05/2026
Maybe I knew this at one point in the past, maybe not, but it just blew my mind (all over again, if I did)... 🤯 In a terminal, Ctrl+x Ctrl+e opens $EDITOR to edit the current command with whatever ergonomics you're more familiar with in that editor - amazing for long terminal commands. As […]
fosstodon.org
Original post on fosstodon.org
000
Reposted by Jonathan Carroll
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 18/04/2026
A bit of a long shot, but in the spirit of #fedihire I'm on the lookout for opportunities to contribute to R tooling. If your org could use some help developing or productionising an R package or some prototype R code, managing data access via databases or APIs, or translating between languages […]
fosstodon.org
Original post on fosstodon.org
020
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 24/04/2026
I've been keeping an eye on this since I first heard about it, and it looks like it now works! duckdb has a dplyr extension which can be installed - use dplyr code to slice and dice data within a duckdb session […] [Original post on fosstodon.org]
dplyr code running within a duckdb session
122
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 22/04/2026
@mchav has an excellent post about the DataHaskell approach to data processing in #haskell, inspired by the 'pandas vs R' post from a couple of years ago. Fantastic to see how these languages approach the same problem with different trade-offs mchav.github.io/being-less-clunky
mchav.github.io
Pandas feels clunky coming from R. What about Haskell?
Some years ago I came across an issue in the Frames repo that mentioned a blog post titled “Why pandas feels clunky when coming from R.” The article showed a side-by-side of simple data exploration in R and compared the code to Pandas. At the time, the author concluded that Pandas was “clunkier” than R. The author operationalises the definition of clunkiness but I think it’s really more of a you-know-it-when-you-see-it thing. You can feel if an API is making you drift further away from your task and making you think more about the tool and its idiosyncracies.
062
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 22/04/2026
I don't immediately see them on fedi, but Guillaume Pressiat wrote an excellent follow-up to my Schotter post, adding in a polar coordinates element guillaumepressiat.github.io/blog/20… (discovered from my website referrals) […] [Original post on fosstodon.org]
polar coordinates SchotterSimplified Schotter in Kap
010
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 18/04/2026
A bit of a long shot, but in the spirit of #fedihire I'm on the lookout for opportunities to contribute to R tooling. If your org could use some help developing or productionising an R package or some prototype R code, managing data access via databases or APIs, or translating between languages […]
fosstodon.org
Original post on fosstodon.org
020
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 18/04/2026
Probably not quite fully accurate, but I was surprised on seeing the name when reading something that detailed the Thirty Years' War
If I had a nickel for every time someone named Ferdinand was a proximal cause of a major conflict I'd have two nickels. Which isn't a lot but it's weird that it happened twice.
000
Reposted by Jonathan Carroll
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 17/04/2026
New post: Schotter Plots in R jcarroll.com.au/2026/04/17/schotter… in which I reproduce a famous plot in R based on translating some Python code, itself translated from ALGOL #aRtistry #rstats
Virdis-coloured Schotter plot
022
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 17/04/2026
New post: Schotter Plots in R jcarroll.com.au/2026/04/17/schotter… in which I reproduce a famous plot in R based on translating some Python code, itself translated from ALGOL #aRtistry #rstats
Virdis-coloured Schotter plot
022
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 17/04/2026
@andrew made a vastly superior parallel search across seed values (via mirai) I was scanning in this post (10 years ago) jcarroll.com.au/2016/05/30/seed and now I can find (the first of) these two magic numbers in a mere 16s Andrew's post […] [Original post on fosstodon.org]
R code which shows the seed values of 2505587 and 11135560 can be used to 'randomly sample' LETTERS but produce 'HELLO' and 'WORLD'
100
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 14/04/2026
R/Pharma 2026 call for speakers is open until (approx) 02 May and we're once again running an APAC track for those not in North America/Europe timezones. Some of last year's sessions are available on YouTube www.youtube.com/rinpharma We're interested […] [Original post on fosstodon.org]
R/Pharma logo image
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 31/03/2026
The latest issue of @rweekly is now live! rweekly.org/2026-W14.html Highlights: - 📊 Introducing ggauto: automating better charts by @nrennie - 🤖 Adding Alt Text in Quarto with Claude Code by @stephenturner.us - ☕ Using science to find the best decaf by @gdeejay.bsky.social As always […]
fosstodon.org
Original post on fosstodon.org
075
Reposted by Jonathan Carroll
Heather Turner :rstats: @heathrturnr.fosstodon.org.ap.brid.gy · 15/03/2026
Hello 👋🏻 I'm a Principal Research Software Engineer in Advanced Research Computing at the University of Birmingham, UK. I lead the international project “Enabling the next generation of contributors to R” and manage research software development projects at UoB. * R Core member * Chair of R […]
fosstodon.org
Original post on fosstodon.org
13117
Reposted by Jonathan Carroll
Weltzeitgeist @wackjackle.norden.social.ap.brid.gy · 09/03/2026
Great video. Watch it!
norden.social
[Video] Original post on norden.social
020
Reposted by Jonathan Carroll
Federico Pianzola @fpianz.mstdn.social.ap.brid.gy · 18/02/2026
Very interesting article! "This article looks briefly at exclusive systems of knowledge production. I describe how the Open Science movement that was founded to reform science often recycles the same extractive dynamics of neoliberal capitalism described by dependency theory." […]
mstdn.social
Original post on mstdn.social
017
Reposted by Jonathan Carroll
Kit Bashir @unixbigot.aus.social.ap.brid.gy · 16/02/2026
You asked for a #PowerOnStoryToot #eBook collection. Here is Volume Zero (free!). Subsequent volumes will cover quarterly posts, so about 100 stories each. This one is the pre-history, 35 stories posted before I settled on a daily cadence. I'm working with illustrators on an illustrated edition […]
aus.social
Original post on aus.social
001
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 16/02/2026
#rstats hivemind - is this a bug or a working-as-expected inconsistency? nargs() gives different results when called via a wrapper compared to when called directly. I need to wrap a function from a published package which (perhaps regrettably) has logic […] [Original post on fosstodon.org]
``` r
inner <- function(x, i, j, ..., z = FALSE) {
  message("inner nargs: ", nargs(), "\n---")
}

inner(0, 1, 2)
#> inner nargs: 3
#> ---

direct <- function(x, i, j, ..., z = TRUE) {
  message("outer nargs: ", nargs(), "\n---")
  inner(x, i, j, ..., z = TRUE)
}

# this produces inconsistent nargs
direct(0, 1, 2)
#> outer nargs: 3
#> ---
#> inner nargs: 4
#> ---

docall <- function(x, i, j, ..., z = TRUE) {
  message("outer nargs: ", nargs(), "\n---")
  do.call(inner, as.list(match.call()[-1]))
}

# this produces the same nargs
docall(0, 1, 2)
#> outer nargs: 3
#> ---
#> inner nargs: 3
#> ---
```

<sup>Created on 2026-02-16 with [reprex v2.1.1](https://reprex.tidyverse.org)</sup>
101
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 02/02/2026
The latest issue of @rweekly is now live! rweekly.org/2026-W06.html Highlights: 💬 @emilyriederer on The Test Set Pod 🧰 Git & GitHub: Practical Version Control for Data Work by @rladiesrome 🦆 dplyr comes to duckdb by bsky.app/profile/novica.bsky.social As always, keep sending […]
fosstodon.org
Original post on fosstodon.org
011
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 14/01/2026
I'm on board with this take terriblesoftware.org/2026/01/08/lif… in terms of "if it's not worth listening to at 1x, it's not worth listening to", but at the same time, I'm going to listen to stuff at 1.8x if the speaker has a slow talking pace. I'm not "rushing […]
fosstodon.org
Original post on fosstodon.org
000
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 04/01/2026
Unlikely to be quite up to the standards of @baptnz but I'm very much enjoying a slow tea experience. Some simple jasmine Yin Hao this time.
A small gongfu tea setup with a teapot, tea, and a cat tea pet
010
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 30/12/2025
I'm not sure why cross-posting isn't working but here's the list of books I read in 2025 jcarroll.xyz/2025/12/30/books-i-rea… Feel free to send me any recommendations you think fit in with these (and why).
jcarroll.xyz
011
Reposted by Jonathan Carroll
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 05/12/2025
Perhaps you saw the post series "Python is not a great language for data science"... well, here's Haskell IS a Great Language for Data Science jcarroll.com.au/2025/12/05/haskell-… #haskell :haskell: #rstats :rstats:
jcarroll.com.au
Haskell IS a Great Language for Data Science
I’ve been learning Haskell for a few years now and I am really liking a lot of the features, not least the strong typing and functional approach. I thought it was lacking some of the things I missed from R until I found the dataHaskell project. In this post I’ll demonstrate some of the features and explain why I think it makes for a good (great?) data science language.
23111
Jonathan Carroll @jonocarroll.fosstodon.org.ap.brid.gy · 05/12/2025
Perhaps you saw the post series "Python is not a great language for data science"... well, here's Haskell IS a Great Language for Data Science jcarroll.com.au/2025/12/05/haskell-… #haskell :haskell: #rstats :rstats:
jcarroll.com.au
Haskell IS a Great Language for Data Science
I’ve been learning Haskell for a few years now and I am really liking a lot of the features, not least the strong typing and functional approach. I thought it was lacking some of the things I missed from R until I found the dataHaskell project. In this post I’ll demonstrate some of the features and explain why I think it makes for a good (great?) data science language.
23111