Sign in

Riccardo Cappuzzo

@riccardocappuzzo.com
232 followers 592 following 107 posts

Research engineer at Inria Saclay, working on the Skrub library. PhD in computer science. Python, data preparation, ML, tabular learning. ORCID: 0000-0002-4448-2959 Hoshiyomi ☄️ www.riccardocappuzzo.com github.com/rcap107

PostsRepliesMedia
Riccardo Cappuzzo @riccardocappuzzo.com · 27/09/2026
TIL about pairdrop.net Extremely convenient for sharing files from my Android phone to my Macbook, given that the phone can't use Airdrop yet 🙄
pairdrop.net
PairDrop
Instantly share images, videos, PDFs, and links with people nearby. Peer2Peer and Open Source. No Setup, No Signup.
020
Reposted by Riccardo Cappuzzo
Skrub @skrub-data.bsky.social · 01/09/2026
🐞 Bug fix release incoming 🐛 Version 0.10.1 of skrub is now live! In this release, we fixed a Cloudpickle import error that could be triggered by some updated dependencies, along with some other improvements. Release post: github.com/skrub-data/s... 1/4
github.com
Release 0.10.1 · skrub-data/skrub
🌟 Skrub 0.10.1 has been released 🌟 Main features When a cross-validation splitter has been passed to .skb.mark_as_X(), it it now possible to select a specific split from it when calling .skb.train...
134
Riccardo Cappuzzo @riccardocappuzzo.com · 25/08/2026
Lessons learned: The nofail flag is very important, Claude is great, but still not good enough to spot the solution before going along with the nuclear option and I absolutely need a bloody mini HDMI adapter, all my woes would have been solved by simply looking at the logs
000
Riccardo Cappuzzo @riccardocappuzzo.com · 25/08/2026
As it turns out, the problem was that I misconfigured /etc/fstab so that said "right HDD" was mounted without the nofail flag, and I just so happened to unplug said HDD to bring it to work. So power went out, the Pi tried to boot but went "😱 no HDD" and got stuck
100
Riccardo Cappuzzo @riccardocappuzzo.com · 25/08/2026
So, my evening was spent blindly debugging with Claude why my Pi wouldn't finish booting after a power cut. arp fishing for an IP, almost losing the SD in the thermal case, and a final decision of backing up and flashing the SD from scratch And all I had to do was plugging in the right HDD
100
Riccardo Cappuzzo @riccardocappuzzo.com · 06/05/2026
Release day 🎉
000
Riccardo Cappuzzo @riccardocappuzzo.com · 24/04/2026
Basically the plot of en.wikipedia.org/wiki/The_Fee...
en.wikipedia.org
The Feeling of Power - Wikipedia
000
Reposted by Riccardo Cappuzzo
Skrub @skrub-data.bsky.social · 25/03/2026
✨ skrub version 0.8.0 has been released ✨ This version includes several new features, including multiple improvements to the functionality and performance of the Data Ops, along with a few bug fixes and improvements to the docs. Changelog: skrub-data.org/stable/CHANG... Highlights below ⤵️
skrub-data.org
Release history
Release 0.8.0: New Features: The eager_data_ops configuration option has been added. When set to False, no previews are computed and validation is deferred until the DataOp is actually used (e.g. w...
184
Riccardo Cappuzzo @riccardocappuzzo.com · 24/03/2026
For context, $375M is about two days worth of profit for Meta in 2025
031
Riccardo Cappuzzo @riccardocappuzzo.com · 19/03/2026
This is such a specifically disheartening piece of news to see openai.com/index/openai...
openai.com
OpenAI to acquire Astral
Accelerates Codex growth to power the next generation of Python developer tools
010
Riccardo Cappuzzo @riccardocappuzzo.com · 12/03/2026
Context: en.wikipedia.org/wiki/Dead_In...
en.wikipedia.org
Dead Internet theory - Wikipedia
000
Riccardo Cappuzzo @riccardocappuzzo.com · 12/03/2026
What a world we are already living in www.adriankrebs.ch/blog/dead-in...
a screenshot of an email that reads "hey sorry - my agent got a mind of its own and started applying for jobs for me"
100
Riccardo Cappuzzo @riccardocappuzzo.com · 21/02/2026
And this is the result recorded with asciinema Selecting a file opens it in VS Code at the given line, very convenient
000
Riccardo Cappuzzo @riccardocappuzzo.com · 18/02/2026
Tags are built with this
100
Riccardo Cappuzzo @riccardocappuzzo.com · 18/02/2026
Rabbit hole of the day: writing a command that fuzzy searches in the repository for any substring, shows me a preview of the line with context and opens the file at the given line in VS Code. Requires fzf, universal-ctags and batcat
the screenshot of a shell script that uses fzf and ripgrep to find substrings, classes, and files in the skrub repository
100
Riccardo Cappuzzo @riccardocappuzzo.com · 12/02/2026
And yes I understand that there may be some (a lot of?) human influence on the blog post. However, whether it was a human or an AI doesn't matter: the end result is the same, and the conditions for the same thing to happen with no human in the loop are likely already here.
000
Riccardo Cappuzzo @riccardocappuzzo.com · 12/02/2026
I've always thought OpenClaw was a bad idea (giving an AI agent free reign over my PC? *insanity*) I did not realize it was "write a hit piece and publish it in a blog in retaliation for closing a PR" bad. theshamblog.com/an-ai-agent-...
theshamblog.com
An AI Agent Published a Hit Piece on Me
Summary: An AI agent of unknown ownership autonomously wrote and published a personalized hit piece about me after I rejected its code, attempting to damage my reputation and shame me into acceptin…
100
Riccardo Cappuzzo @riccardocappuzzo.com · 09/02/2026
good pr
030
Riccardo Cappuzzo @riccardocappuzzo.com · 28/01/2026
I'm sorry, I couldn't resist
a green baseball cap with "man I love Fauna" written on it
020
Riccardo Cappuzzo @riccardocappuzzo.com · 27/01/2026
The more I hear about Clawbot the more I'm convinced it's some kind of social experiment trying to figure out how many people are willing to put their entire private and professional lives in the hands of an overeager child open to the unlimited influence of the world wide web
000
Riccardo Cappuzzo @riccardocappuzzo.com · 12/01/2026
This was an interesting bug to track down.
000
Riccardo Cappuzzo @riccardocappuzzo.com · 12/01/2026
Funny bug of the day: if you try to use pandas' "guess_datetime_format" with datetimes where the hour and minute are the same as the year (like 1959 and 19:59), the parser will fail and return None. This bug is present in pandas 2.3.3, but has been fixed in the dev version.
A short script demonstrating how the `guess_datetime_format` function of pandas does not work as intended when trying to parse the datetime "1959-01-01 19:59:16": it returns none instead of returning the correct datetime format.
100
Riccardo Cappuzzo @riccardocappuzzo.com · 10/01/2026
I've seen it being described as "Broetry". It's explored quite well in this article I read some time ago: fenwick.media/rewild/magaz...
fenwick.media
Broetry: Why is everyone suddenly writing in single line sentences on LinkedIn?
In this article, we’ll explore the phenomenon of broetry. Where did it come from? Why is it so popular? Most importantly—how can a form of writing so objectively bad be effective? Do we owe it any cre...
0100
Riccardo Cappuzzo @riccardocappuzzo.com · 02/01/2026
Something that immediately ended up being a roadblock was the "This cell redefines variables..." error. I realized that when I'm plotting dataframes I always end up chaining df operations across different cells and this is putting a wrench in that. You might argue it's for the best, but still 😅
000
Riccardo Cappuzzo @riccardocappuzzo.com · 02/01/2026
Random question shot into the ether: if I'm relying on VSCode's interactive windows to emulate notebooks, what are some reasons why I should switch to @marimo.io notebooks? I haven't looked into marimo's features, so maybe I'm missing out on things I can't do from VSCode.
100
Riccardo Cappuzzo @riccardocappuzzo.com · 16/12/2025
That's me! It was a fun presentation and we got a lot of interesting questions Also people laughed at the memes which is the most important thing, obviously
020
Riccardo Cappuzzo @riccardocappuzzo.com · 09/10/2025
"ok the test run is done, let's see" ... "this will be hard to debug"
000
Reposted by Riccardo Cappuzzo
Emilien Schultz @emilienschultz.eurosky.social · 01/10/2025
What a banger is skrub @skrub-data.bsky.social ! Big thumbs up for the sklearn team & the maintainer of this package
1144
Riccardo Cappuzzo @riccardocappuzzo.com · 07/10/2025
Thanks a lot for the compliments! I had a lot of fun giving the talk, and I'm happy to see people liked it
120
Riccardo Cappuzzo @riccardocappuzzo.com · 26/09/2025
My first actual talk in front of a ton of people 🙃
000
Riccardo Cappuzzo @riccardocappuzzo.com · 05/09/2025
TIL about lava lamp encryption www.cloudflare.com/learning/ssl...
cloudflare.com
How do lava lamps help with Internet encryption?
The Cloudflare lava lamps are used for Internet encryption. Learn about entropy in cryptography and why randomness is essential for SSL encryption.
010
Reposted by Riccardo Cappuzzo
Skrub @skrub-data.bsky.social · 05/09/2025
Do you have to deal with numerical features that involve large outliers, and need to train linear models or neural networks? Then you might want to try the skrub SquashingScaler. The SquashingScaler behaves like scikit-learn RobustScaler, but smoothly clips outliers to predefined boundaries.
111
Riccardo Cappuzzo @riccardocappuzzo.com · 04/09/2025
context: www.youtube.com/watch?v=f7Mi...
youtube.com
The Powerpuff Girls | Theme Song | Cartoon Network
YouTube video by The Powerpuff Girls
000
Riccardo Cappuzzo @riccardocappuzzo.com · 04/09/2025
Working hard on the next @skrub-data.bsky.social slide deck...
130
Reposted by Riccardo Cappuzzo
Olivier Grisel @ogrisel.bsky.social · 19/08/2025
Today at #EuroScipy2025, @glemaitre58.bsky.social and I presented a tutorial on pitfalls of machine learning for imbalanced classification problems. We discussed what (not) to do when fitting a classifier and obtaining degenerate precision or recall values. probabl-ai.github.io/calibration-...
probabl-ai.github.io
Imbalanced classification: pitfalls and solutions — Probabilistic calibration of cost-sensitive learning
12210
Reposted by Riccardo Cappuzzo
Compute! Paris @computeparis.bsky.social · 12/08/2025
📢 Talk Announcement "Skrub: machine learning for dataframes", by Guillaume Lemaitre, Jérôme Dockès and @riccardocappuzzo.com. @skrub-data.bsky.social 📜 Talk info: pretalx.com/pydata-paris-2025/talk/T9KTPU 📅 Schedule: pydata.org/paris2025/schedule 🎟 Tickets: pydata.org/paris2025/tickets
041
Reposted by Riccardo Cappuzzo
Olivier Grisel @ogrisel.bsky.social · 18/08/2025
Attending the @skrub-data.bsky.social tutorial by @riccardocappuzzo.com and @glemaitre58.bsky.social at #EuroScipy2025. They introduce the new DataOps feature released in skrub 0.6. Here is the repo with the material for the tutorial: github.com/skrub-data/E...
Photo of Riccardo presenting skrub DataOps in a lecture room to an audience of ~50 people.
052
Reposted by Riccardo Cappuzzo
Mike Fiedler @miketheman.com · 28/07/2025
Heads Up, #Python Developers! There is an active phishing attack targeting PyPI users. • Threat: Emails from noreply@pypj.org (with a 'j') link to a fake login page. • Action: Do not click any links. If you already did, change your PyPI password ASAP. • Note: PyPI itself has not been breached.
26040
Riccardo Cappuzzo @riccardocappuzzo.com · 24/07/2025
"My watch gained gemini power overnight" One sentence horror
000
Riccardo Cappuzzo @riccardocappuzzo.com · 24/07/2025
Huge release, and the first one where I felt like I actually contributed a lot to the final result. I really think DataOps are a game changer, and I can't wait to see what people come up with with them. I also ended up rewriting most of the user guide, hopefully improving it along on the way 😂
043
Riccardo Cappuzzo @riccardocappuzzo.com · 19/07/2025
The walrus operator mystifies me
000
Riccardo Cappuzzo @riccardocappuzzo.com · 19/07/2025
I got 16/26 on the fstrings.wtf quiz. Can you do better? fstrings.wtf
fstrings.wtf
fstrings.wtf - Python F-String Quiz
Test your knowledge of Python's f-string formatting with this interactive quiz. How well do you know Python's string formatting quirks?
100
Reposted by Riccardo Cappuzzo
Randall Munroe @xkcd.com · 19/06/2025
David R. Hagen just solved a small mystery that I mentioned 13 years ago in the mouseover text of a comic drhagen.com/blog/the-mis...
drhagen.com
The Missing 11th of the Month - David R Hagen
Personal website of David R Hagen, scientific software engineer
603183601
Riccardo Cappuzzo @riccardocappuzzo.com · 13/06/2025
Really cool graffiti I spotted while walking around in the town where I live
010
Riccardo Cappuzzo @riccardocappuzzo.com · 13/06/2025
classic arstechnica.com/ai/2025/06/g...
arstechnica.com
AI Overviews hallucinates that Airbus, not Boeing, involved in fatal Air India crash
Google’s disclaimer says AI “may include mistakes,” which is an understatement.
000
Riccardo Cappuzzo @riccardocappuzzo.com · 04/06/2025
Out of all the features in the expressions, this may be my personal favorite. I always end up adding too many configurations just because the syntax is so convenient.
000
Reposted by Riccardo Cappuzzo
Skrub @skrub-data.bsky.social · 28/05/2025
📝 The skrub TextEncoder brings the power of HuggingFace language models to embed text features in tabular machine learning, for all those use cases that involve text-based columns.
263
Riccardo Cappuzzo @riccardocappuzzo.com · 23/05/2025
www.justfuckingcode.com
justfuckingcode.com
Just fucking code.
000
Reposted by Riccardo Cappuzzo
Skrub @skrub-data.bsky.social · 21/05/2025
The Skrub Cleaner is a lightweight transformer that performs consistency checks on a dataframe: 🔍 It gives a uniform representation of null values, converting those represented as strings (such as "N/A") 🗑️ It drops columns that contain too many null values (according to a user-defined threshold)
162
Riccardo Cappuzzo @riccardocappuzzo.com · 20/05/2025
Now that the paper is out, I can finally share the totally-not-confusing script/plot/table map I made to track which scripts prepare which figures and tables and from what data. If it wasn't clear, don't do this. If you *really* have to, I used the @obsidian.md canvas for this.
050