Note di Matteo


19 novembre 2025

Anche Resend durante l'outage Cloudflare ha iniziato a lavorare per sostituire Cloudflare con AWS CloudFront, ma alla fine non l'ha fatto e preferisce avere l'edge AWS (dove c'è il resto dell'infrastruttura) solo come failover.

The CloudFront solution was not deployed, but the runbook was created. If the incident were to recur, we could switch to the fallback within 60 seconds. We continued to monitor and then closed the status page.


Rivoluzione dei prezzi di AWS CloudFront, 50 TB per 15$ (in su), prima sarebbe costato oltre 4.000 $:

#170 /
09:33
/ #aws#cdn

18 novembre 2025

Di recente Google ha cambiato la policy di peering per quanto riguarda Google Cloud e YouTube:

  • Niente più nuovi peering negli IXP pubblici.
  • PNI min. 100 Gbps su traffico minimo di 10 Gbps di picco (settlement free).
  • Per tutto il resto il consiglio è di affidarsi a uno degli ISP "certificati" di questa lista (IP transit a pagamento, presumo), che hanno almeno due interconnessioni in almeno un'area metropolitana di Google.

(video)

Private peering allows a network to connect directly with Google over a dedicated physical link known as a private network interconnect (PNI).

Google offers 100G and 400G private peering (PNI) at the facilities listed in our PeeringDB entry. Note that this type of direct peering occurs at common physical locations, and both Google and any peering network bear their own costs in reaching any such location.

Google no longer accepts new peering requests at internet exchanges (IXPs). However, Google maintains dedicated connectivity to the internet exchanges (IXPs) listed in our PeeringDB entry. We also maintain existing BGP sessions across internet exchanges where we are connected. For networks who do not meet our PNI requirements Google will serve those networks via indirect paths.

(peering.google.com)

#169 /
22:42
/ #reti#google

Altra testimonianza di come il routing Cloudflare sia pessimo sui piani più economici (producendo 150+ ms di latenza evitabile scegliendo nodi a migliaia di km di distanza), un problema che essenzialmente non esiste con le altre CDN:


In my experience, the people who are excited about AI art also happen to be some of the most talentless fucking people I've ever met. They're middle managers, executives, or marketers whose LinkedIn bio reads: "I'm the Chief Brand Officer of User Engagement at DataRectal, but what I really am is a storyteller".

AI art is an interesting technology because despite its growing popularity, nobody seems to want it.

Matthew Inman, fumettista, in un fumetto sulle immagini/video generati con AI.

#167 /
18:29
/ #ai

TIL OONI.org (Open Observatory of Network Interference) è una global community measuring Internet censorship since 2012. Si installa la probe e si eseguono test che sono poi esplorabili e finiscono nei report sulla censura.

#166 /
16:36
/ #internet

A dimostrazione di #164, ho notato che diversi siti hanno disattivato Cloudflare visto il prolungarsi dei problemi: Mailtrap, Instatus, X. E allora cosa era lì a fare?


Cloudflare KO da quasi due ore e la differenza rispetto a quando us-east-1 di AWS è down è che i disservizi Cloudflare tendono ad essere globali e quindi più impattanti.

La quantità di siti impattati che sto osservando mi sembra maggiore rispetto all'outage AWS del mese scorso. A questo giro noto cloud provider con i siti in crisi (Netsons), servizi di status page (Instatus), di rilevamento errori (Bugsnag), di invio email (Mailtrap, Resend) che usano Cloudflare magari senza nemmeno averne bisogno, magari perché "lo usano tutti", "costa poco", e senza un'adeguata valutazione di cosa comporta far passare l'intero traffico non cifrato attraverso un'azienda che non ha una reputazione di affidabilità. A questo giro anche ChatGPT, X e N26.

Magari anche con l'illusione che Cloudflare serva a qualcosa out of the box nel gestire gli attacchi DDoS. Non lo è: gli attacchi L3/L4 li gestisce tipicamente ogni provider di rilievo (almeno fino a una certa scala) e non è per questo necessario Cloudflare, mentre è noto a chi ci è passato che Cloudflare ha l'abitudine di passare alla origin gli attacchi L7 anche significativi (decine di migliaia di richieste al secondo), fuori pattern e con origin palesemente in crisi. Di certo è un utile, flessibile e soprattutto accessibile firewall edge a scalabilità infinita che avrebbe bisogno di più competizione.


La region OVHcloud di Milano con 3 AZ è live.

#163 /
12:08
/ #cloud#ovh

17 novembre 2025


Review your own git pull requests

When you create a pull request in GitHub, click on the Files changed tab, and scroll through the diff. Anywhere you’ve done something new that’s not already explained by in-code comments, add a comment in the GUI about what you did and why.

  • Often, it’s stuff that’s not important enough for in-code commentary, but is useful for the reviewer to know.
  • Sometimes, it’s stuff that should actually be documented in the code, and this is a good time to go back and add it.
  • Every now and then, you’ll notice a bug in your own code because you’re reading it with fresh eyes, in a different format than your text editor.

It’s a simple behavior change that adds maybe 5 or 10 minutes to the time it takes to setup a PR, but it’s saved me so many headaches, and makes life for whoever reviews your PR a lot easier, too!

(Chris Ferdinandi)

#161 /
22:56
/ #dev#git


Quickwit

Numeri sulla migrazione di Mezmo da Elasticsearch a Quickwit.

Con Elasticsearch:

  • 2 PB di storage
  • 275 istanze EC2
  • 35 TB di RAM
  • 7770 core

(800 MB - 2 GB di integestion al secondo)

Con Quickwit (che è pazzesco!):

  • -80% storage
  • -40% di instanze EC2
  • -98% RAM
  • -93% CPU


16 novembre 2025

TIL il sistema di geoposizionamento what3words:

what3words è un modo molto semplice per comunicare la propria posizione geografica. A ogni 3 metri quadrati della superficie terrestre corrisponde un indirizzo unico di 3 parole che rimarrà sempre uguale. L'ordine e la composizione di queste parole è unica, facile da leggere, da condividere e da utilizzare.

Esempio: ///andiamo.mummia.visuali

#158 /
20:49

io penso che le piste ciclabili non dovrebbero esistere.

le strade in città dovrebbero avere l’intera carreggiata riservata totalmente a biciclette, bici a pedalata assistita, monopattini, hoverboard, con i marciapiedi, magari allargati, per i pedoni, e con corsie per i mezzi pubblici ovviamente.

le automobili, per quel poco che ancora possono esistere in un secolo che non è piu il loro, dovrebbero poter circolare solo in poche arterie principali con una corsia rigorosamente destinata a loro, ben separata, comunque con forti limiti di velocità.

quindi si, penso che le piste ciclabili siano qualcosa di sbagliato, perché implicano troppo poco spazio e troppo circoscritto per le biciclette, e da questo punto di vista rappresentano qualcosa di anacronistico

(da un commento sul Post)

#157 /
20:40
/ #mobilità

Telegram che mi sospende TrackBot senza apparente motivo per 40 minuti è una novità:

#156 /
15:37
/ #telegram

In Francia i provider DNS devono bloccare domini su richiesta anche in assenza di una sentenza (ricorda qualcosa...):

We sought legal advice, and unfortunately discovered that French law, specifically Article 6-I-7 of the Loi pour la Confiance dans l'Économie Numérique (LCEN), might actually require us to respond and apply blocking measures, at least for French users.

That said, this whole situation shows just how inadequate this regulation is. Such decisions should be made by a court — a private company shouldn’t have to decide what counts as “illegal” content under threat of legal action.

(Adguard)


15 novembre 2025

TIL Nano Banana per la generazione di immagini AI non è un diffusion model ma autoregressive, a differenza delle generazioni precedenti di Imagen e a differenza di DALL-E 2 e 3. E Midjourney e Stable Diffusion.

Of note, gpt-image-1, the technical name of the underlying image generation model, is an autoregressive model. While most image generation models are diffusion-based to reduce the amount of compute needed to train and generate from such models, gpt-image-1 works by generating tokens in the same way that ChatGPT generates the next token, then decoding them into an image. It’s extremely slow at about 30 seconds to generate each image at the highest quality (the default in ChatGPT), but it’s hard for most people to argue with free.

In August 2025, a new mysterious text-to-image model appeared on LMArena: a model code-named “nano-banana”. This model was eventually publically released by Google as Gemini 2.5 Flash Image, an image generation model that works natively with their Gemini 2.5 Flash model. Unlike Imagen 4, it is indeed autoregressive, generating 1,290 tokens per image. After Nano Banana’s popularity pushed the Gemini app to the top of the mobile App Stores, Google eventually made Nano Banana the colloquial name for the model as it’s definitely more catchy than “Gemini 2.5 Flash Image”.


Inside Cursor

When people describe someone in a professional setting as “young,” I usually find this translates to either “somewhat incompetent” or “good at their job but gratingly unprofessional.” Knowing the former was not going to be an issue at Cursor, I was prepared for at least some of the latter.

Despite a young average age, I was pleasantly surprised to find the team instead to be warm, well-dressed, keen on eye contact, clear and respectful in communication, and assiduous about replacing empty toilet paper rolls on the dispenser of the shared bathrooms. I was also surprised to find people so young so often communicate their ideas by reference to Silicon Valley history, world history, pop culture, art, learnings from seemingly unrelated industries, and patterns they’ve observed in the work of others they’ve long admired. The range of references is wide, but what’s clear in every example is that people at Cursor study the world as they move through it, rather than rely exclusively on their own personal experience for all their context and idea-generation (a typical pitfall of “young” people). It makes the team particularly good at finding elegant solutions to many shapes of problems.

To share what they’re observing and learning, many team members create “brain” channels in Slack where they publish their personal musings; there’s no expectation of a response or engagement, but people with good ideas can command quite a following. For the most popular brain channels, the content has little to do with “proof of work” or “managing up,” but rather ideas and reflections. Recent examples include musings on whether “CMSes are an artifact of the pre-AI era,” a deeply considered readout from a slew of customer visits, and a very exacting friction log on a still-nascent Cursor product.

Perhaps most importantly to me, you won’t see much LFGGGGGG, talk of being “cracked,” or overuse of emojis or memes. Recent favorite non-work related messages include an invitation to Vivaldi’s The Four Seasons at the SF Symphony, a picture from respective NY and SF 9pm run clubs, friendly mockery at a bad take on AI in the The New Yorker, an entire channel dedicated to #laundry featuring a weekly “laundry standup” slackbot, debates about how to fold fitted sheets, and a poll about which humanoid robot will first make our beds. No one ever breaks character. By far, the most used reaction emoji is ♥️. No one raises their voices, gets angsty or flustered, or visibly panics when things go sideways. It all feels very…adult.

Brie Wolfson in Inside Cursor - Sixty days with the AI coding decacorn

#153 /
17:27