Note di Matteo


20 marzo 2026


In questo paese pare non ci sia mai la volontà di rendere facili le cose.

Nayt

#393 /
10:45
/ #italia

19 marzo 2026

Scaleway a Milano

Scaleway apre una region cloud a Milano:

La cloud region di Milano comprenderà tre availability zone, l'architettura standard utilizzata da Scaleway per garantire alta disponibilità e ridondanza nativa per i carichi di lavoro mission-critical. La prima availability zone, realizzata in un data center a Settimo Milanese, è già operativa. Le altre due, situate in data center diversi, saranno completate nei prossimi mesi e avranno sede a Basiglio e a Milano.

#392 /
23:37
/ #cloud

Che grande pasticcio il tracking Poste Italiane semplificato (che esiste dall'estate 2024).

Ad esempio lo stato SDA "RIMESSA IN CONSEGNA PER DOMANI O PROSSIMO GIORNO LAVORATIVO", che non significa tentativo fallito ma solo consegna rimandata, sul tracking Poste diventa "consegna non andata a buon fine per destinatario assente. Qualora previsto, sarà effettuato un nuovo tentativo di consegna il giorno lavorativo successivo".

La cosa assurda è che il sistema di tracking precedente era molto più dettagliato e aveva più varietà di testi.

#391 /
17:07

18 marzo 2026

EU Inc.

Ecco la proposta ufficiale della Commissione Europea per un 28esimo regime per la costituzione di società a responsabilità limitata:

Main features of EU inc. include:

  • Faster registration: Entrepreneurs, founders, and companies will be able to found an EU Inc. company within 48 hours, for less than €100 and with no minimum share capital requirements.
  • Simpler procedures: EU Inc. companies will only need to submit their company information once, via an EU-level interface connecting national business registers together. In a second step, the Commission will establish a new central EU register. EU Inc. companies will obtain their tax identification and VAT numbers without having to resubmit paperwork.  
  • Fully digital operations: Corporate processes will be digital by default throughout a company's lifecycle.
  • Helping founders restart faster and cheaper: EU Inc. companies will have access to fully digital liquidation procedures. Innovative startups will have access to simplified insolvency procedures to facilitate the winding down of operations. This enables founders to try and test innovative ideas and start again if needed.
  • Better conditions to attract investment: Today's proposal will remove in-person formalities, provide digital procedures for financing operations, and simplify the transfer of shares. There will be no more mandatory involvement of intermediaries for share transfers, and liquidation procedures.The proposal will also allow Member States to give EU Inc. companies access to the stock exchange.
  • Better means to attract talents: EU Inc. companies will be able to set up EU-wide employee stock option plans. The stock option will only be taxed on the income generated once it is sold. This is a crucial factor in ensuring attractiveness, particularly for innovative startups.
  • Full access to the Single Market: EU Inc. companies will be free to choose the Member State in which they incorporate. The proposal includes a blacklist of prohibited practices to ensure that EU Inc. companies are treated the same way as any other national companies.
  • Strong safeguards against abuse: National employment and social laws are not affected by the proposal. They will apply to EU Inc. the same way they apply to any other business under national company law. The applicable safeguards of the Member State of registration will apply in full to the EU Inc. company, including when it comes to rules regarding co-determination.  
  • Flexibility of shares: EU Inc. companies will have the flexibility to create different classes of shares with varying economic or voting rights. This can, for example, help founders protect their business against hostile takeovers.
#390 /
13:47
/ #business#eu

AI e citazioni

ChatGPT usa questa sintassi per le citazioni:

\uE200cite\uE082turn2search5\uE201

Oppure con due citazioni:

\uE200cite\uE082turn2search5\uE082turn2news1\uE201

Dove i simboli Unicode sono "caratteri" privati invisibili usati così:

  • Inizio: U+E200
  • Separatore: U+E082
  • Fine: U+E201

Scelta interessante.

Gli ID (es. turn2search5) sono presi direttamente dall'output dei tool, ad esempio:

{
  "search_results": [
    {
      "ref_id": "turn2search0",
      "title": "Eiffel Tower history",
      "url": "https://example.com/eiffel-history"
    },
    {
      "ref_id": "turn2search1",
      "title": "Britannica - Eiffel Tower",
      "url": "https://example.com/britannica-eiffel"
    },
    {
      "ref_id": "turn2search2",
      "title": "Paris tourism - Eiffel Tower",
      "url": "https://example.com/paris-tourism"
    }
  ]
}

Mistral sembra invece usare questa sintassi:

:refs[1-3,7,9]

Dove 3, 7 e 9 sono indici della lista di risultati di un tool, l'1 non so cosa sia.

Esempio di tool output:

{
  "0": {
    "url": "https://trytako.com/embed/OQENsP2y2BMZd8fnd6oa/",
    "title": "Unit Calculator: 330.0 Inchs to Meters",
    "description": "Questa scheda mostra la conversione da Pollice a Metro...",
    "snippets": [],
    "date": null,
    "rank": 0,
    "source": "tako",
    "metadata": {},
    "can_open": false,
    "content_type": "tako_widget"
  },
  "1": {
    "url": "https://www.vacanzeparigine.it/torre-eiffel/",
    "title": "Come visitare la torre Eiffel - Vacanze Parigine",
    "description": "Gli altri piani rimarranno disponibili alla visita... secondo piano: a 115,88 metri d’altezza e 669 scalini.",
    "snippets": [
      "CHIUSURA: a causa di lavori di manutenzione la cima della torre Eiffel (il terzo piano) rimarrà chiusa dal 5 gennaio al 6 febbraio 2026 (info). Gli altri piani rimarranno disponibili alla visita. INCREMENTO TARIFFARIO: il costo dei biglietti subirà un aumento a partire dalle visite dal 12 gennaio 2026 in poi. ... secondo piano: a 115,88 metri d’altezza e 669 scalini.",
      "Considerando l’antenna, la torre Eiffel raggiunge i 330 metri d’altezza..."
    ],
    "date": "2026-01-12T08:22:43",
    "rank": 0,
    "source": "brave",
    "metadata": {},
    "can_open": true,
    "content_type": "web_page"
  },
}

Claude usa invece questa sintassi più esplicita:

<cite index="2-1">Label</cite>

Dove 2 sarebbe il documento di riferimento mentre 1 la frase citata. Quindi si possono citare più frasi e anche più documenti:

<cite index="2-1:3">Label</cite>
<cite index="1-2,3-4">Label</cite>

Gli indici sono estratti dagli output dei tool, ad esempio:

<document index="2">
  <source>La Torre Eiffel, Sito UFFICIALE: biglietti, info, notizie,…</source>
  <document_content>
    <span index="2-1">Alta 330 metri, la Torre Eiffel ha una storia affascinante 
    che risale alla fine del XIX secolo. Il suo progettista, l'ingegnere Gustave 
    Eiffel, era famoso per la realizzazione di ponti, viadotti e capriate 
    metalliche, già prima di costruire ...</span>
  </document_content>
</document>

17 marzo 2026

Un commento al post di Cloudflare su Piracy Shield, un po' off-topic ma interessante perché pessimista sul concetto di Internet aperta, che è miseramente fallito:

Open Internet is a failed experiment and you need to come to terms with that. It's lead to unprecedented rise in human trafficking, harassment, substantial misinformation, cult like thinking on every topic.

On and on with harm. The great utopia of easy access facts, good faith discussion, and leap in progress is the minimum effect. It's mostly harm. But keep fighting for children to be traffic, sextortion, and anti science.

#388 /
20:47
/ #internet


Pulp.info e DMARC

Davide Marra di Pulp Podcast dice che non gli hanno risposto alle email di invito:

Il dominio mittente pulp.info ha le email in hosting su Google Workspace:

❯ dig pulp.info MX +short
5 alt1.aspmx.l.google.com.
1 aspmx.l.google.com.
5 alt2.aspmx.l.google.com.
10 alt4.aspmx.l.google.com.
10 alt3.aspmx.l.google.com.

Per cui dovrebbe esserci un record SPF per autorizzare Google Workspace a inviare email da quel dominio:

❯ dig pulp.info TXT +short
"v=spf1 include:spf.webapps.net ~all"
"google-site-verification=EYlW2K4aQg6ksmXcCNCcFMUN85ebneJDbSW8NhJRXbs"

Ma in realtà il record autorizza solo spf.webapps.net, che fa capo a Register.it, dove il dominio è registrato.

Vediamo se almeno c'è una firma DKIM personalizzata, che salverebbe la situazione nell'ambito dell'allineamento DMARC. Il selettore proposto di default da Google nella admin console è google, quindi cerchiamo il relativo record DNS che dovrebbe contenere la chiave pubblica DKIM:

❯ dig google._domainkey.pulp.info TXT
; <<>> DiG 9.20.20 <<>> google._domainkey.pulp.info TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 45823
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
[...]

Non c'è (NXDOMAIN). Vediamo se c'è comunque DMARC:

❯ dig _dmarc.pulp.info TXT
; <<>> DiG 9.20.20 <<>> _dmarc.pulp.info TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13037
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
[...]

Non c'è. Beh, forse l'email è finita in spam... :)

#386 /
17:41
/ #email

16 marzo 2026

DNS-PERSIST-01: A New Model for DNS-based Challenge Validation. C'è un nuovo tipo di challenge di autorizzazione nel protocollo ACME per l'emissione e rinnovo dei certificati TLS. Permette di verificare la proprietà di un dominio con un record DNS persistente, da impostare una volta con validità infinita. Normalmente si usa un record TXT _acme-challenge con un token con validità associata all'ordine del certificato. Il nuovo metodo dns-persist-01 permette invece di autorizzare uno specifico account ACME, opzionalmente con una data di scadenza:

_validation-persist.example.com. IN TXT (
  "letsencrypt.org;"
  " accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1234567890"
)
#385 /
15:07
/ #security

15 marzo 2026

Alexa mi manda una notifica su Amazon Echo, che dice: "c'è un articolo in offerta nel tuo carro".

(altro capolavoro di Amazon parte 3)

#384 /
10:14
/ #amazon

14 marzo 2026

Altro capolavoro di Amazon: «in caso di sovraccarico delle feci»

#383 /
21:02
/ #amazon

13 marzo 2026


L'esperimento di rilancio di Digg è stato sospeso dopo due mesi. La morte di Internet.

When the Digg beta launched, we immediately noticed posts from SEO spammers noting that Digg still carried meaningful Google link authority. Within hours, we got a taste of what we'd only heard rumors about. The internet is now populated, in meaningful part, by sophisticated AI agents and automated accounts. We knew bots were part of the landscape, but we didn't appreciate the scale, sophistication, or speed at which they'd find us. We banned tens of thousands of accounts. We deployed internal tooling and industry-standard external vendors. None of it was enough. When you can't trust that the votes, the comments, and the engagement you're seeing are real, you've lost the foundation a community platform is built on.

This isn't just a Digg problem. It's an internet problem. But it hit us harder because trust is the product.

#381 /
23:07
/ #internet


Claude Code riscrive chardet ("Python character encoding detector") con prestazioni 48 volte superiori alla versione precedente. La licenza open source cambia da LGPL a MIT perché è un rewrite totale. È un lavoro indipendente oppure un lavoro derivato? La questione si ripresenterà sempre più spesso.

Last week, Dan Blanchard, the maintainer of chardet—a Python library for detecting text encodings used by roughly 130 million projects a month—released a new version. Version 7.0 is 48 times faster than its predecessor, supports multiple cores, and was redesigned from the ground up. Anthropic's Claude is listed as a contributor. The license changed from LGPL to MIT.

Blanchard's account is that he never looked at the existing source code directly. He fed only the API and the test suite to Claude and asked it to reimplement the library from scratch. The resulting code shares less than 1.3% similarity with any prior version, as measured by JPlag. His conclusion: this is an independent new work, and he is under no obligation to carry forward the LGPL.


12 marzo 2026

Ho sempre rifiutato la retorica della battaglia, della lotta, della guerra contro la malattia, qualsiasi essa sia. Per un motivo molto semplice. Prima o poi, come nel mio caso, si perde. La retorica della lotta implica, tra le possibilità, che chi perde non ha lottato abbastanza. Il solo pensiero mi sembra offensivo e non lo voglio neanche discutere.

Luca Conti (1975-2026)

#378 /
13:30

11 marzo 2026

Humans create the need for systems. Models excel with context, but humans define evolution.

Shao-Qian Mah, ricercatore OpenAI nel team Codex, da How Codex is built (The Pragmatic Engineer)

#377 /
21:07
/ #ai

Ecco con grande ritardo la timeline del "bando" per l'assegnazione delle nuove gTLD. L'ultima volta era successo nel 2012.

  • Dal 30 aprile al 12 agosto si potranno presentare le candidature, la relativa documentazione e il pagamento di 227mila dollari per la TLD proposta.
  • La lista sarà resa pubblica probabilmente prima di ICANN 87 (17 ottobre).
  • Per 14 giorni dal Reveal Day le candidature potranno essere modificate sostituendo TLD con TLD di riserva pre-comunicate nel caso in cui si voglia evitare di competere con altre candidature.
  • Intorno a febbraio 2027 terminerà poi il periodo per le obiezioni.

Da lì in poi non ho capito bene ma ci sono altri passaggi per risolvere le contese, che possono durare anche molti anni. Tutt'ora alcune gTLD del 2012 non sono state formalmente assegnate.

#376 /
14:47
/ #domini

❯ dig ospedaleniguarda.it NS +short
blasco.ospedaleniguarda.it.
vasco.ospedaleniguarda.it.
dns2.fastweb.it.

LOL. Blasco e Vasco.

#375 /
11:26
/ #dns