Sign in

Giovanni Barillari

@baro.dev
123 followers 106 following 72 posts

Physicist, software developer, SRE, OSS maintainer. Photography passionated. In love with radical honesty. blog.baro.dev

PostsRepliesMedia
Reposted by Giovanni Barillari
EuroPython 2026, Kraków @europython.eu · 06/06/2026
Join Giovanni Barillari (@baro.dev) at EuroPython for "Rethinking AsyncIO from scratch for free-threaded Python" Talk: ep2026.europython.eu/US3W8J
Speaker announcement for EuroPython 2026 conference: Giovanni Barillari — Rethinking AsyncIO from scratch for free-threaded Python
072
Reposted by Giovanni Barillari
David Imel @davidimel.com · 02/05/2026
2026
2468053
Reposted by Giovanni Barillari
Cloudflare @cloudflare.social · 16/03/2026
Italy’s "Piracy Shield" forces providers to block content in under 30 minutes without judicial oversight. We're appealing a €14M fine to protect the Internet from automated censorship and ensure infrastructure providers aren't forced to overblock. cfl.re/4cKGDqO
blog.cloudflare.com
Standing up for the open Internet- why we appealed Italy’s Piracy Shield fine
Cloudflare is appealing a €14 million fine from Italian regulators over
0217
Giovanni Barillari @baro.dev · 07/03/2026
I finally found some time to write a piece about TonIO, my nulti-threaded async runtime for #python 👀 blog.baro.dev/p/reinventin...
blog.baro.dev
Reinventing Python's AsyncIO | Fluxus by gi0baro
My journey (so far) in rethinking Python's async code execution
040
Reposted by Giovanni Barillari
Ed Zitron @edzitron.com · 03/02/2026
Headline to go in the big short 2
1450739
Giovanni Barillari @baro.dev · 11/01/2026
Yeah, maybe I misread him, but I generally had very mixed feelings about the whole thing 🤷‍♂️
020
Giovanni Barillari @baro.dev · 11/01/2026
I wrote some thoughts about AI after reading the latest @antirez.bsky.social blog post: blog.baro.dev/p/ai-is-a-po...
blog.baro.dev
AI is a political matter: we need more activists, not consumers | Fluxus by gi0baro
And why suggesting people to use Claude Code won't make things better.
150
Reposted by Giovanni Barillari
PyCon Italia @pyconit.bsky.social · 06/01/2026
⏰ NOW IS THE TIME! ⏰ Our call for proposal closes in less than 19 hours! Did you send your proposal yet? pycon.it/call-for-pro... #PyConIT
012
Giovanni Barillari @baro.dev · 22/12/2025
"A divided society is easier to intimidate and a cynical society is easier to manipulate."
010
Giovanni Barillari @baro.dev · 13/12/2025
Today I released the first pre-alpha of smth I was cooking in the last few months.. 👀 github.com/gi0baro/tonio
github.com
GitHub - gi0baro/tonio: A multi-threaded async runtime for Python
A multi-threaded async runtime for Python. Contribute to gi0baro/tonio development by creating an account on GitHub.
020
Giovanni Barillari @baro.dev · 04/12/2025
See you again in 1y Micron
000
Giovanni Barillari @baro.dev · 26/11/2025
From my perspective, in the long run authors and artists will be the actual survivors of it. Open weight models are getting harder and harder to run on consumer hardware, and pricing for cloud offerings are – and will keep – raising. Software will probably be the only worth use case at that point.
000
Giovanni Barillari @baro.dev · 26/11/2025
Next time invite me to the party 😝
100
Giovanni Barillari @baro.dev · 26/11/2025
Jeez @mitsuhiko.at, I stay away from bluesky for 48h and you do this? 😂 #wellplayed
100
Giovanni Barillari @baro.dev · 26/11/2025
pivotnine.com/blog/open-so...
pivotnine.com
Open Source Has Too Many Parasocial Relationships
The people who wrote the software you found on the side of the Internet for free don’t owe you anything.
000
Reposted by Giovanni Barillari
Armin Ronacher @mitsuhiko.at · 04/11/2025
On the weekend I talked with @baro.dev on why Agentic Coding works for me, an not quite for him. www.youtube.com/watch?v=EZhj...
youtube.com
Talking Agentic Engineering with Giovanni
YouTube video by Armin Ronacher
1182
Reposted by Giovanni Barillari
gamersnexus.bsky.social @gamersnexus.bsky.social · 26/10/2025
Talking about whatever the fuck this is: www.youtube.com/watch?v=h3Jf...
youtube.com
WTF Is Going On?
YouTube video by GNCA - GamersNexus Consumer Advocacy
734549
Giovanni Barillari @baro.dev · 23/10/2025
blog.baro.dev/p/on-the-aws...
blog.baro.dev
On the AWS downtime, the internet and influencers' dumb takes | Fluxus by gi0baro
and why the modern internet sucks.
010
Giovanni Barillari @baro.dev · 18/10/2025
blog.baro.dev/p/the-future...
blog.baro.dev
The future of Python web services looks GIL-free | Fluxus by gi0baro
Web frameworks benchmarks on CPython 3.14t looks promising
010
Giovanni Barillari @baro.dev · 10/10/2025
Granian does :)
010
Giovanni Barillari @baro.dev · 13/09/2025
That works too.
110
Giovanni Barillari @baro.dev · 13/09/2025
"All rights reserved" means you keep all the rights. So nobody can reproduce, distribute or modify without explicit permission from the holder. That doesn't really play well with an OSS license 😅
010
Giovanni Barillari @baro.dev · 13/09/2025
If you intend to keep the same license, then yes, you can just change the name. If you want to move to a different license (eg: MIT) you might need to check with all the contributions they're ok with. Side note: the "all rights reserved" part feels a bit weird for a BSDv3 license.
100
Giovanni Barillari @baro.dev · 14/08/2025
I don't usually do "reaction content".. but this quite triggered me. blog.baro.dev/p/theo-has-w...
blog.baro.dev
Theo has weird vibes | Fluxus by gi0baro
..or why you should take influencers' words with a grain of salt
010
Giovanni Barillari @baro.dev · 13/08/2025
www.wheresyoured.at/ai-is-a-mone...
wheresyoured.at
AI Is A Money Trap
In the last week, we’ve had no less than three different pieces asking whether the massive proliferation of data centers is a massive bubble, and though they, at times, seem to take the default positi...
020
Reposted by Giovanni Barillari
Stefano Zanero @raistolo.bsky.social · 13/08/2025
This piece by @garymarcus.bsky.social is - as usual - spot on: garymarcus.substack.com/p/gpt-5-over...
garymarcus.substack.com
GPT-5: Overdue, overhyped and underwhelming. And that’s not the worst of it.
A new release botched … and a breaking research new paper that spells trouble
385
Giovanni Barillari @baro.dev · 05/08/2025
I guess I'm back to blogging. blog.baro.dev/p/why-mark-s...
blog.baro.dev
Why "Mark" superintelligence post is just a pile of BS | Fluxus by gi0baro
000
Giovanni Barillari @baro.dev · 30/07/2025
Yo! Granian 2.5 is out, now with memory limits for workers and UDS support 🚀 Check it out @ github.com/emmett-frame...
github.com
Release Granian 2.5.0 · emmett-framework/granian
What's Changed New features Human-readable CLI duration arguments (#622 by @3ok) This allows CLI arguments like --workers-lifetime 6h Workers memory usage limiter (--workers-max-rss option) Uni...
010
Giovanni Barillari @baro.dev · 28/07/2025
I'd say it really depends on what kind of programming you do. Prototyping stuff? Sure Boring things? Hell yeah Building libraries and tools used by others? Meh Existing 10k+ lines codebase? Definitely not Also: how much productivity you trade now for later maintenance? Open coffe/beer in vie ;)
010
Giovanni Barillari @baro.dev · 28/07/2025
How many threads? You mentioned long queries, but what's the expected concurrency on the database? To me 10 processes x N threads per container sounds a bit too much. I'd say all those threads will spend a bunch of time fighting each other for CPU time..
000
Giovanni Barillari @baro.dev · 28/07/2025
Yeah, I never got the point of a2wsgi. At the end of the day it is a wrapper, so you spend more CPU cycles in the translation layer with very few benefits – the network part of the request response is async, but everything is still blocking and running in a single thread.
000
Giovanni Barillari @baro.dev · 28/07/2025
Uvicorn does ASGI only, so that part feels strange too. The post seems to imply it also switched from WSGI (uwsgi) to ASGI (uvicorn). But given Django is not exactly designed for ASGI it feels weird.
000
Giovanni Barillari @baro.dev · 28/07/2025
Granian maintainer here. Curious about how you configured Granian, feels strange to me that delivers worse perf than uwsgi.
100
Giovanni Barillari @baro.dev · 01/07/2025
You might want to check out Granian, usually the CPU usage is ~10-40% lower compared to uwsgi 😉
010
Giovanni Barillari @baro.dev · 18/06/2025
I'm not a CPython core dev 🤷‍♂️ But again, just 'cause that happens with gunicorn, doesn't necessarily mean the same for Granian. Sure if the leak is within the app, there's nothing I can do. But in Granian everything which is not your app is allocated in Rust, not Python.
110
Giovanni Barillari @baro.dev · 18/06/2025
To be clear: I don't think max-requests is always a bad idea. In fact, it might be added in future versions. What I'm saying is that: - restarting a worker (and thus a whole Python interpreter) every 2048 reqs is just a huge waste of CPU cycles - it won't help you with scaling. Ever.
110
Giovanni Barillari @baro.dev · 16/06/2025
If that's the case, then you need to control the amount of concurrency to avoid memory saturation, but there's no need to restart the worker if you're not leaking memory.
010
Giovanni Barillari @baro.dev · 16/06/2025
I disagree. The number of processed requests is not a good metric to understand how much memory you're using. Unless you have just 1 route. You're basically guessing the memory impact, as you don't really know which requests cause the memory rise/leak.
100
Giovanni Barillari @baro.dev · 16/06/2025
So what you actually need is a max-rss feature, not the max-requests one, don't you?
110
Giovanni Barillari @baro.dev · 16/06/2025
If you need to scale workers based on the number of requests per unit of time, having the max-requests option won't help though. I'd probably use containers and an external orchestrator driven by a load balancer metrics for that.
110
Giovanni Barillari @baro.dev · 16/06/2025
I was pointing out my comment on that issue that suggests using max-lifetime instead. For the records, on some wsgi services in prod we saw memory usage becoming stable after the switch to Granian, maybe that would be the case also for you and you won't need to restart the workers at all!
110
Giovanni Barillari @baro.dev · 16/06/2025
github.com/emmett-frame...
github.com
Support `max-requests` and `max-requests-jitter` config parameters · Issue #34 · emmett-framework/granian
One of the common problems with Django apps is memory leaks. The most common suggestion is to allow the webserver to cycle processes after serving some fixed number of requests. This bypasses memor...
110
Giovanni Barillari @baro.dev · 05/06/2025
"I am, even more reluctantly, exposed to genAI Discourse every damn minute of every damn day. It is relentless, inescapable, and exhausting." blog.glyph.im/2025/06/i-th...
blog.glyph.im
I Think I’m Done Thinking About genAI For Now
The conversation isn’t over, but I don’t think I have much to add to it.
020
Giovanni Barillari @baro.dev · 05/06/2025
This is *very very* long. But also *very very* good. In fact, one of the best pieces I've ever read recently. www.wheresyoured.at/the-era-of-t...
wheresyoured.at
The Era Of The Business Idiot
Fair warning: this is the longest thing I've written on this newsletter. I do apologize. Soundtrack: EL-P - $4 Vic Listen to my podcast Better Offline. We have merch. Last week, Bloomberg profiled ...
010
Giovanni Barillari @baro.dev · 29/05/2025
Python web development in a picture #pyconit @marcelotryle.bsky.social @tiangolo.com @pyconit.bsky.social
161
Giovanni Barillari @baro.dev · 21/05/2025
I should really start publishing charts in the Granian benchmarks suite. Much easier to read compared to tables. github.com/emmett-frame...
000
Giovanni Barillari @baro.dev · 19/05/2025
Granian 2.3 is out! 🚀 Now with mTLS and direct static files serving support :) github.com/emmett-frame...
github.com
Release Granian 2.3.0 · emmett-framework/granian
What's Changed New features Support for direct static files serving from a folder mTLS Changes Switch to Rust 2024 edition Bump PyO3 to 0.25 Bump dependencies Enhancements Review shared socket...
010
Reposted by Giovanni Barillari
Tyler, from the Internet @tylerfromtheinternet.com · 13/04/2025
Two children at school in uniforms and it looks like Japan, both of them look like girls or femmes. One is holding a giant tuba so that it's stuffed over the face of the other one that's pinned up against the wall. The one holding the tuba is labeled every company. The tuba is labeled unwanted AI And the one against the wall is labeled me
3273522566
Giovanni Barillari @baro.dev · 13/04/2025
Maybe in the near future the original SDK package can provide different extras (client,server,http,asgi) so that mine will be useless @thedsp.bsky.social @marcelotryle.bsky.social @sa.muelcolvin.com
110