Note di Matteo


21 ottobre 2025

GitHub ha un nuovo capo prodotto, Jared Palmer, ex Vercel, e dice che GitHub implementerà le stacked PR/stacked diff (stile Graphite.dev):

RE: Stacked Diffs on @GitHub

After discussion w @ttaylorr_b, we can implement stacked PRs/PR groups already (in fact we kind of do with Copilot) but restacking (automatically fanning out changes from the bottom of the the stack upwards) would be wildly inefficient. To do it right, we need to migrate @GitHub to use git reftables instead of packed-refs so that multi-ref updates / restacking will be O(n) instead of ngmi.

This will take some time but has been greenlit.

Molto interessante!

#91 /
15:19
/ #dev

20 ottobre 2025


Niente si conosce di ciò che è accaduto prima del Big Bang: probabilmente il tempo è nato in quel momento.

Storia dell'universo

#89 /
22:55
/ #mondo

Con questo captcha (5 volte) sto sudando veramente tanto:

#88 /
21:14


Qualche dettaglio in più sui nuovi piani Hetzner Cloud:

  • The CX (cost-optimized x86 cloud servers) Gen3 line is no longer Intel-only, but uses the previous generation of both Intel and AMD servers (from CX Gen1, CX Gen 2, and CPX Gen1). This is still the go-to option for budget needs.
  • The CPX (still shared, but performance-optimized cloud servers) Gen2 has been refreshed with a more recent AMD hardware (Genoa), offering both better price and performance.
  • The CAX (costs-optimized ARM cloud servers) and CCX (cloud servers with dedicated vCPUs) lines did not receive a hardware update as far as I can tell.
#86 /
09:23
/ #cloud#hetzner

18 ottobre 2025



GitHub Pages infrastructure

GitHub Pages, our static site hosting service, has always had a very simple architecture. From launch up until around the beginning of 2015, the entire service ran on a single pair of machines (in active/standby configuration) with all user data stored across 8 DRBD backed partitions. Every 30 minutes, a cron job would run generating an nginx map file mapping hostnames to on-disk paths.

There were a few problems with this approach: new Pages sites did not appear until the map was regenerated (potentially up to a 30-minute wait!); cold nginx restarts would take a long time while nginx loaded the map off disk; and our storage capacity was limited by the number of SSDs we could fit in a single machine.

Despite these problems, this simple architecture worked remarkably well for us — even as Pages grew to serve thousands of requests per second to over half a million sites.

Hailey Somerville sul blog GitHub.

#83 /
13:28
/ #dev#cloud

Lavorare con Safari è una pena:

  • i cookie Secure non vanno su localhost perché Safari non supporta Secure Context come gli altri browser.
  • i sottodomini di localhost non funzionano fino a macOS 26, da cui starò alla larga per un po'.
  • nella scheda Storage -> Cookies non si vedono i cookie di terze parti o dei sottodomini??? come in tutti gli altri browser.
  • al momento non riesco a far funzionare un semplice cookie SameSite=Lax del tutto, su localhost con HTTPS. Nella risposta c'è, ma non lo salva. Con gli altri browser funziona.
  • ok, non sono l'unico. Rinuncio.

Defunte definitivamente quasi tutte le iniziative di Chrome per uccidere i cookie di terze parti (Privacy Sandbox), restano solo i cookie partizionati e poco altro:

CHIPS and FedCM, which improve cookie privacy and security and streamline identity flows respectively, have seen broad adoption, including support from other browsers. We'll continue to support those APIs and evaluate opportunities for future enhancements. We'll also maintain Private State Tokens and explore additional approaches to help developers reduce fraud and abuse.

After evaluating ecosystem feedback about their expected value and in light of their low levels of adoption, we've decided to retire the following Privacy Sandbox technologies: Attribution Reporting API (Chrome and Android), IP Protection, On-Device Personalization, Private Aggregation (including Shared Storage), Protected Audience (Chrome and Android), Protected App Signals, Related Website Sets (including requestStorageAccessFor and Related Website Partition), SelectURL, SDK Runtime and Topics (Chrome and Android). We will follow Chrome and Android processes for phasing out these technologies and share updates on our developer site.


17 ottobre 2025

CIE arrivata in tre giorni (!). Ma il processo di attivazione di CieID è da migliorare. Grande confusione di domini come ho già scritto, interfacce incoerenti tra loro, icone schiacciate, app che non funziona con i password manager, zero integrazione con IO, ecc.


TIL in PostgreSQL ALTER DEFAULT PRIVILEGES si applica solo agli oggetti creati dal ruolo che ha creato i default privileges. Di default è il ruolo attualmente connesso, ma si può specificare:

ALTER DEFAULT PRIVILEGES
FOR ROLE prod_dmarcwise
IN SCHEMA public
GRANT SELECT ON TABLES TO prod_pgdump;
#79 /
09:36
/ #dev#database

16 ottobre 2025

Me l'ero perso: Bending Spoons vuole acquisire anche Typeform ed Elysium (che non so cosa sia):

The Milan-based company has submitted a $255 million offer for Typeform, an app designed to streamline customer data management, the newspaper reported, without disclosing how it got the information. It’s also in talks to buy Elysium for $240 million.


Fineco scrive via email: "Attenzione alle frodi bancarie". Alla fine si specifica che il sito ufficiale è https://it.finecobank.com, ma il link non porta lì. Non è così che si costruisce un sistema di fiducia.

#77 /
22:43
/ #security

A lot of my recent songs are a reaction to how one feels online in the modern world. Going back to this individualistic culture of writing about our deepest insecurities feels very liberating. Social media reinforces your impression of being inadequate and having to consume something to feel whole.

I would very much like to see a gentler world, a world with more with more compassion and more warmth, a world where not so many people are afraid of being different, being unique.

Tom Odell


SameSite e protezione CSRF con Sec-Fetch-Site

Un po' di risorse sulle tecniche moderne per la protezione da CSRF:



Cambia la gamma di piani cloud Hetzner, ora divisi in:

  • Shared Cost-Otimized: un mix di Intel, AMD e Ampere (ARM), da 4,26 € a 29,8 €, max 16 vCPU e 32 GB di RAM.
  • Shared Regular Performance: solo AMD, da 7,92 € a 47,57 €, configurazioni simili.
  • Dedicated General Purpose: solo AMD, da 15,24 € a 351,96 € per 48 vCPU e 192 GB di RAM.

Il prezzo minimo mi pare sia leggermente più basso rispetto a prima. Prima la dvisione era solo tra Shared e Dedicated.

I prezzi qua sono IVA 22% inclusa e incluso un IPv4.

#73 /
13:38
/ #cloud#hetzner

15 ottobre 2025

Io credo che l'essere umano non sia stato progettato per vivere sotto questo tipo di pressione legata a stimoli e informazioni che ti arrivano, di cui magari a volte vorresti anche fare a meno, a essere sempre obbligato a paragonarti agli altri. È un paragone che specialmente sugli adolescenti ma anche sugli adulti è sempre un po' perdente, per il semplice motivo che tutti mettono sempre il meglio di sé stessi in vetrina, e anche noi facciamo la stessa cosa, però quando vediamo la vetrina degli altri ci crediamo e non crediamo invece alla nostra. È l'effetto "l'erba del vicino è sempre più verde". E quindi questa cosa è frustrante perché viviamo in una specie di grande bugia che però crediamo solo quando sono gli altri a raccontarcela. [...]

Conta soltanto il risultato finale, non conta assolutamente niente come tu ci sei arrivato ad arrivare 2 milioni di visualizzazioni per un video o per una stupidaggine. Sempre a cercare di alimentare la negatività, perché la negatività stimola discussioni.

Siamo stimolati a continuare a [produrre contenuti]: è una specie di doping di cui non ci rendiamo conto, è il famoso "smetto quando voglio" ma non smetti mai. Pubblichi una cosa e poi guardi quello che ti hanno scritto sotto. [...] Ogni tanto ti prendi la vacanza: adesso per una settimana basta, e la settimana dura 7 minuti in verità.

Basterebbe in qualche modo togliere la tossicità del feedback, dei numeri, della competizione, delle visualizzazioni, di quanti ti hanno risposto.

Linus nel podcast De Core Podcast.

#72 /
22:29
/ #social