February 2024

📆 february 2024 tada science wrap up 🎉

Romain François


March 2, 2024

tada science is.

View this post on Instagram

A post shared by tada⬢science (@tada.science)

We’ll get to what it is and what it does soon enough, but it is, it exists as a company, where as before it was just a name I used. We might start to we more than we I as a consequence, but for now let me wrap what happened in february.

AI poetry

We started off by adding the tada::verse() function to generate praise poetry using ChatGPT through the chattr 📦.

This was fun, but quickly opened a can of worms, because tada::verse() would not work for some packages, because of a bug in chattr . At least that’s what I initially assumed, and logged an issue for it.

chattr is not a trivial package, and so I went on a little debugging quest to find out what the problem was, and developed snitch along the way to help with tracing. snitch has helped, but it is still a little clunky, so it will stay unreleased until it is somewhat better, or just sit in the unreleased 📦 graveyard.

turned out the underlying problem was a missed opportunity in httr2 , which was the perfect excuse to dive in, learn about httr2 and eventually settle with a proposal to add a round= argument to httr2::req_perform_stream() . It has been great working on this with Hadley on the pull request. I sure was easier that we have a lot of experience working together, but I believe we both contributed to the vision and ended up with a simple, nice and extensible way to solve the initial problem. Long story short, when you stream text with httr2::req_perform_stream() , you just do httr2::req_perform_stream(round = "line").

For valentine we went a different way to engage with ChatGPT and simply use the openai package instead of chattr . That loses sreaming along the way, but that’s fine. Now that httr2::req_perform_stream() is more resilient, we can imagine to contribute a streaming feature to openai . Similarly, we might switch to using Gemini and contribute to gemini.R or develop a mistral.ai package to use Mistral instead. valentine was fun to play with.


react is a different beast, it was initially meant as a goofy 📦 but it git some engagement on various socials, so it might have more potential than initially envisionned, or maybe this is just because it’s a shiny ✨ thing .


Last month, I started working with cynkra on a duckdb extension 🦆 that will eventually contribute to duckplyr . duckplyr is a dplyr replacement built natively on top of duckdb , that’s 😎. I look forward to contribute more to this. If you’re curious about it, the best place is this posit::conf talk from Kirill.

To be continued

That’s a wrap for this wrapup, March will look different for tada science, but the dedication to R is intact.