Pier Fumagalli
banner
pier.fumagalli.org
Pier Fumagalli
@pier.fumagalli.org
Old Chap, father of Leo, and spending most of my time swearing at code...
… a very specific kind of chicken thieves!

“Fuma” means fumigate: the technique was to fumigate chicken coops, and when the chickens run out in search of fresh air, phlop, easy prey!

The “rooster fumigators”

🔥💨🐓🐓🐓🐓🐓
January 2, 2026 at 6:52 PM
Maybe if she were eating 🍣🍱🤣…

Nope, no idea who she is, but the surname is actually pretty common in the area I was originally from!

It means “chicken thieves” in our dialect, so it was pretty much given to every criminal/thief in the area, in the past!
January 2, 2026 at 6:40 PM
I’m honestly blown away by how easy and fast it is these days to go from idea to object.

Here’s to thousands of toys yet to be made.

Hat tip @tcurdt.bsky.social ...
December 21, 2025 at 9:36 PM
That’s one tidbit of history I didn’t know… I remember using httpget back in my college days, but never knew that it was connected to curl!
December 17, 2025 at 9:44 AM
At least *some* good news. Given that at every click NPM now requires a one-time-password, at least those passwords are not *really* one-time... You can type in the same TOTP code over and over again and NPM will happily accept it every time! 😱
December 12, 2025 at 9:50 PM
And the NPM interface is just a clusterfuck! Can't even sort my packages by name, so finding stuff is ... HARD!

And after 10-or-so clicks CloudFlare kicks in asking me to confirm if I'm a human or whatnot...

This is going to take the whole flipping weekend!
December 12, 2025 at 9:39 PM
The grudge comes from the fact that I have around 100 packages out there that need some form of migration (there are scripts keeping deps up-to-date and publishing most of them on a weekly basis) but ZERO tooling around configuring the new publishing setup: you gotta click a bazillion times on NPM.
December 12, 2025 at 9:39 PM
So, while it’s great to see performance in this area, the total infrastructure savings of some large provider serving billions of requests in whatever time frame is very likely to be zero.

Client side, or application code (read what my server side code DOES with said request) is another story…
December 10, 2025 at 7:36 AM
They are sometimes re-generated from the above, but parsed, nah!

Any matching platform/tool I’ve used (from configuring AWS ALB, to Cloudflare, to frameworks like express, or servlets) works on the individual components of a URL, but those arrive already split up in little chunks over HTTP.
December 10, 2025 at 7:36 AM
Hmmm… while I applaud the effort of making URL parsing fast and compliant, I hardly can agree with your “What it means in practice” section.

Server side, via HTTP, URLs are almost never parsed, as theycome in as a mix of path and headers (think authorization, host, …)
December 10, 2025 at 7:36 AM
I thought that in 2025 this would have been so blatantly understood by everyone, but apparently... 🫠
December 9, 2025 at 3:09 PM
Geography determines product availability, pricing, VAT rates, delivery times and carriers.

On the other hand only "accept-language" determines whether you see that in German, English, French, Russian, or Klingon...
December 9, 2025 at 3:09 PM
There is a fundamental distinction between our "German" website (for people living in Germany) and our website "in German" (for people preferring the German language).
December 9, 2025 at 3:09 PM
This stems from a longer discussion at work where, while being primarily focused on Germany and Austria (and thinking about expansion), we do serve our content in multiple languages.
December 9, 2025 at 3:09 PM
On Google is *specifically* said “only return results in English” in the search settings… Guess what? First two pages are 🇩🇪
December 9, 2025 at 2:57 PM
Wait… Not even a smidgen of Marmite?
December 7, 2025 at 11:11 PM