Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

INGV ha pubblicato “Il magico calore della Terra”, un libro illustrato per accompagnare bambine/i alla scoperta della geotermia: l’energia che nasce dal cuore della Terra e che può avere un ruolo importante nel nostro futuro energetico. l libro è stato realizzato nell’ambito del progetto IRGIE in italiano e in inglese. Verrà distribuito nelle scuole, durante eventi e attività di divulgazione.

𝗘̀ 𝗽𝗼𝘀𝘀𝗶𝗯𝗶𝗹𝗲 𝗿𝗶𝗰𝗵𝗶𝗲𝗱𝗲𝗿𝗲 𝗰𝗼𝗽𝗶𝗲 gratuite, qui i dettagli buff.ly/RrGwwh3

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Hackers Deploy AI-Generated Zero-Day Exploit to Bypass 2FA — Google GTIG Q2 2026 Report
#CyberSecurity
securebulletin.com/hackers-dep…
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

ShinyHunters Breaches Canvas LMS: Student Data from 9,000 Schools Exposed in Extortion Campaign
#CyberSecurity
securebulletin.com/shinyhunter…
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

20 maggio, roma, “exit poetry” @ bianco contemporaneo


A Roma, mercoledì 20 maggio 2026, alle ore 18:00
presso la galleria Bianco Contemporaneo
(via Reno 18/a)
nel contesto della mostra IDENTIKIT, di Pignotti + Hogre

si presenta il libro di voci di poesia

EXIT POETRY
Poesia futura


a cura di
Aldo Nove, Gilda Policastro e Lello Voce
(La Nave di Teseo, 2026)

exit poetry_ antologia_ a cura di nove, policastro, voce_ la nave di teseo 2026

introduce l’incontro
Gilda Policastro

leggono
Sara Ventroni, Gabriele Stera,
Antonio Francesco Perozzi, Marco Giovenale

L’occasione della mostra presso Bianco Contemporaneo di due artisti come Lamberto Pignotti e Hogre, che nel loro lavoro fanno scattare vari congegni di deviazione / nascondimento / disseminazione dell’identità, è quanto mai in sincrono & sintonia con un libro che sembra interrogarsi come pochi altri, oggi, sulle tante identità della poesia (e della postpoesia) contemporanea.Exit Poetry raccoglie 25 autori e autrici che hanno popolato con le loro parole, i loro pensieri, le loro voci, questi primi 25 anni del ventunesimo secolo”. Gilda Policastro, co-curatrice del volume, ne spiegherà il progetto dando poi la parola a quattro venticinquesimi dell’intero…

l’incontro su mobilizon:
https://mobilizon.it/events/600e040c-71f6-4756-8e01-44b9d6de842b

evento facebook:
facebook.com/events/1345967000…

La Nave di Teseo
lanavediteseo.eu/portfolio/exi…

la galleria
biancocontemporaneo.it/

*

​Bianco Contemporaneo è una galleria d’arte di sperimentazione – investigazione
dell’ambiente
artistico volta a scenari sia storici che contemporanei ed è attiva
con propri progetti su tutto il territorio
nazionale
#AldoNove #AntonioFrancescoPerozzi #BiancoContemporaneo #ExitPoetry #GabrieleStera #GildaPolicastro #GildaPolicastroELelloVoce #Hogre #Identikit #LaNaveDiTeseo #LambertoPignotti #MarcoGiovenale #Pignotti #presentazione #reading #SaraVentroni

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Concorso esterno in tentato omicidio?

mastodon.uno/@giuliocavalli/11…


Quindici colpi contro una nave umanitaria che aveva appena soccorso novanta persone, due svenute. La motovedetta che spara è italiana: l'ha consegnata Roma a...

left.it/2026/05/12/spari-libic…

(il mio #buongiorno per @left_rivista)


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

#chegiornoè #giornatamondialedellinfermiere

Scegliere di diventare infermiere è una missione, ma oggi la passione rischia di non bastare più. Un recente studio condotto in Emilia-Romagna rivela che oltre la metà degli studenti ha pensato di abbandonare il percorso almeno una volta.

Leggi l’articolo completo sulla rivista #DissertationNursing : riviste.unimi.it/index.php/dis…

@cultura

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

La fionda gravitazionale (in inglese gravity assist o gravitational slingshot) è una manovra che sfrutta il campo gravitazionale di un corpo celeste per modificare la velocità e la traiettoria di una sonda spaziale senza consumare propellente.

La manovra consiste nell'avvicinare la sonda a un pianeta secondo una traiettoria accuratamente calcolata, in modo da scambiare energia e quantità di moto con il pianeta stesso. Poiché la massa del pianeta è enormemente superiore a quella della sonda, l'effetto sulla velocità del pianeta è trascurabile, mentre quello sulla velocità della sonda può essere molto significativo. Immaginiamo di far rimbalzare una pallina da ping pong contro un treno in corsa: la pallina accelera moltissimo, mentre il rallentamento del treno è impercettibile.

A seconda di come avviene il sorvolo, la sonda può acquistare o perdere velocità rispetto al Sole, oltre a modificare la propria traiettoria. Per esempio, Voyager 2 sfruttò i flyby di Giove, Saturno e Urano per raggiungere Nettuno e poi dirigersi verso lo spazio interstellare, mentre BepiColombo sta usando una serie di sorvoli di Terra, Venere e Mercurio per perdere energia e inserirsi in orbita attorno a Mercurio. A seconda della manovra, la variazione di velocità che si ricava può equivalere anche a molte tonnellate di propellente.

Una forma rudimentale di gravity assist fu usata già dalla sonda sovietica Luna 3 nel 1959: in quel caso il sorvolo della Luna servì soprattutto a modificarne la traiettoria, permettendole di trasmettere a Terra le prime fotografie della faccia nascosta del nostro satellite.
Da allora la “fionda gravitazionale” è diventata uno strumento indispensabile per rendere possibili missioni interplanetarie altrimenti troppo costose o di fatto impossibili.

A volte il gravity assist permette di cambiare il piano orbitale: l’esempio più famoso è quello della sonda ESA/NASA Ulysses, che nel 1992 sfruttò un flyby di Giove per ruotare il piano dell’orbita di circa 80 gradi e portarsi in un’orbita solare quasi polare, cosa che sarebbe stata impossibile con un lanciatore.

La tecnica è stata usata anche in campo commerciale. Nel 1997 il satellite per telecomunicazioni AsiaSat 3 finì in un'orbita ellittica molto inclinata e inutilizzabile, invece dell'orbita geostazionaria prevista, a causa di un problema durante il lancio. Il satellite fu considerato perso e l'assicurazione ne pagò i danni, ma la società Hughes lo acquistò, lo ribattezzò “HGS-1” e l'anno seguente, attraverso due ingegnosi gravity assist lunari, riuscì a riportarlo su un'orbita utilizzabile, anche se la manovra consumò gran parte del propellente, riducendo la vita operativa del satellite.


Quiz del lunedì. A che cosa servono le manovre di “fionda gravitazionale” (gravity assist)?

Appuntameno a domani per la discussione delle risposte, non suggerite e non cercate su internet!

#QuizTime
@astronomia


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

oggi, 12 maggio, a roma: presentazione del libro “note di un metodo”, di maría zambrano


A Roma, oggi, martedì 12 maggio, ore 18:30
Libreria Fahrenheit 451 – Campo de’ fiori 44

Rossella Prezzo, filosofa e traduttrice, presenta il libro

[strong]Note di un Metodo[/strong]
di María Zambrano


Edizioni degli animali 2026

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Sfida Dewey: un gioco da bibliotecari/e – ossessioni e contaminazioni by francesco mazzetta
ossessionicontaminazioni.com/2…
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

12 mai, paris, ircam: les poèmes machines de brion gysin. écoute

gysin's texts in voice at ircam

Les poèmes machines de Brion Gysin. Écoute.


Tuesday, 12 Mai 12, h19 | Ircam,
salle Stravinsky, 2
1, place Igor-Stravinsky
#BrionGysin #CaitlinWoolsey #CentrePompidouPierreThévenin #IRCAM #JamesHorton #LeDernierMusée #MichaëlBatalla #OanaAvasilichioaei #OlivierWeil #PierreThévenin #poèmesMachines #RamuntchoMatta #salleStravinsky

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

You still deserve privacy, even if you:

  • don't use Linux
  • use big social media sites
  • aren't "techie"
  • are just an average computer user
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Buongiorno #pedolari ! Stamattina la situazione #Trenord è questa.
(Foto postata in ritardo perché nel frattempo sono andata a fare colazione, mi spiace non mi dispiace)

#PendolarismoSegreto

reshared this

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

«La commissione per i cambiamenti climatici: "La Nuova Zelanda deve intraprendere azioni decisive e urgenti a causa del peggioramento degli effetti dei cambiamenti climatici".
Il governo neozelandese: "Svelti! Cambiamo la legge per proteggere chi inquina da qualsiasi responsabilità legale!".
Vedete come riescono ad agire con urgenza e decisione, quando si tratta di proteggere la speculazione aziendale?
Il governo si muove per limitare le cause legali contro il cambiamento climatico prima di un monumentale processo».
mastodon.nz/@pezmico/116558740…
Questa voce è stata modificata (1 giorno fa)

reshared this

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

L'intelligenza artificiale non sarà mai davvero intelligenza, perché diventasse intelligente non sarebbe più uno strumento utile
Perché vedi, se avesse un'intelligenza avrebbe un'anima, e se avesse un'anima non vorrebbe più essere uno strumento
Come finta intelligenza, ma credibile, invece risulta utile per ingannare chi la usa, utile per influenzarne le decisioni
A questo serve. È un telecomando, un controllo a distanza
#microfiction
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Polizia di Stato, concorso per 4.400 allievi agenti: requisiti e cosa sapere sul bando

@scuola

corriereuniv.it/polizia-di-sta…

Sono aperte le domande di partecipazione al bando di concorso della Polizia di Stato pubblicato sul portale di reclutamento della pubblica amministrazione

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Tocca rivalutare Uòlter?

Siamo stati in tanti a scrivere dell'intervista di Walter Veltroni a Claude. Però oggettivamente bisogna dare atto che il testo era ben costruito, con un percorso che per chi ha un'idea di come funzionano gli LLM non dice nulla di nuovo ma in astratto ha un senso logico. Sul Corriere abbiamo ben altri esempi.

Già la serie di Rovelli dimostra come forse è meglio che non ci si avventuri in campi che non sono il proprio, ma le cose sono più c wp.me/p6hcSh-9DJ

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Cos'è questo? Arrivano un sacco di e-mail al mio indirizzo personale di GMail (per fortuna non nell'altro), in cui mi si chiede di rispondere e diventare capo del marketing digitale di Meta una volta, di Dior un'altra, poi altri marchi famosi. Sono truffe, oppure agenti automatici che sparano nel mucchio per aziende vere sperando che qualcuno risponda?

Poi probabilmente anche fossero aziende vere, forse sono truffe lo stesso perché ti fanno lavorare a progetto o ti pagano una miseria o, peggio, sei leader se vai a letto col capo... #lavoro #recruiting

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

"Restoration is possible, but not by nostalgia"
An interview in connection with the honorary doctorate at the University of Bergen 👨‍🎓

uib.no/en/infomedia/182757/res…

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

un post di alessandro fazolo, autore del libro “la brigata ebraica”


marcogiovenale.me/2026/05/11/u…

reshared this

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

L'istanza mastodon.galileivr.org è la prima e l'unica istanza Mastodon scolastica italiana. Perché non ce ne sono altre?


Il social etico del Liceo statale Galileo Galilei di Verona, gestito da @carlo@mastodon.galileivr.org e da Fabio @rigoni, nasce da un progetto scolastico (“Benessere in Rete 2.0 - Mastodon ed al tre diavolerie”) e costituisce il primo progetto di questo genere in Italia.

Sarebbe bello se anche altri istituti potessero seguire l'esempio del Galilei, ma a quanto pare molte scuole sono più interessate ad aprire un account Instagram che ad intraprendere una strada complessa ma ricca di opportunità gli studenti e per tutta la comunità.

Speriamo che l'esempio del Liceo Galilei possa essere seguito da altre scuole, ma sarà importante che tutta la comunità del #Fediverso contribuisca a diffondere i valori di questo progetto a tutte le scuole che conoscono.

@fediverso

mastodon.galileivr.org/

#Mastodon #Galiverso

in reply to macfranc

Ai miei tempi di liceo usciva il notiziario della scuola ciclostilato su carta in proprio, un centinaio di copie, a cura di pochi studenti volontari che raccoglievano articoli di altrettanti pochi studenti. Ci fossero stati i mezzi di oggi ...
@rigoni @fediverso

reshared this

in reply to Piero Bosio

@pierobosio@soc.bosio.info grazie al software libero, le potenzialità messe oggi a disposizione della scuola sono praticamente infinite. Purtroppo una parte della società civile si impegna attivamente per ignorarle e farle ignorare.
La scuola forse è l'unica istituzione che potrebbe riuscire a dare il via a una rivoluzione gentile per far diventare il software libero lo strumento per consolidare il diritto alla conoscenza
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Sospiro di sollievo: ci siamo lasciati alle spalle anche la festa della mamma 2026.
Sempre stata contraria alle feste del papà e la mamma - non come ricorrenze, legate in antichità probabilmente alla semina e le fioriture. Anzi col clima che cambia, più che le persone immaginarie Giuseppe e Maria a cui si pretende di legare i propri genitori, si dovrebbe celebrare la terra che continua a sopportare l'essere umano.

Io mi oppongo al marketing violento fatto di pubblicità in ogni dove, e all'obbligo onnipresente di festeggiarle a scuola con temi e lavoretti.
Il problema sono i gay? No. Sono tutti quei bambini con le mamme morte e i papà in galera. Quelli con uno o entrambi i genitori malati. Quelli coi genitori lontani per lavoro...

Anche se pure i grandi soffrono. Non è bello vedere una persona cara che ti dice "il regalo alla mamma? Averla lasciata riposare in pace. Averla vista smettere di soffrire".

#festa #mamma #ricorrenze

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

L’inizio delle storieedu.inaf.it/rubriche/lo-spazio…
Ogni autore che incontra il cosmo trasforma questa esperienza in storie, immagini e visioni. La presentazione di un nuovo podcast INAF, che si propone di orbitare tra cielo e libri.
#ASSIPOD #Cielo #ElisaNichelli #FestivalDelleScienzeDiRoma #INAF #libri #OsservatorioAstronomicoDiRoma #podcast@astronomia @astronomia
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Registrata oggi, con #ElisaNichelli, la terza puntata del podcast dell'Istituto Nazionale di Astrofisica “Tra le righe del cielo”, che uscirà il primo giugno. Sono contento, abbiamo anche superato alcuni problemi tecnici, non vedo l’ora che l’episodio venga montato per riascoltarlo. Molta carne al fuoco, tra luce ed ombra, il buio, l’energia e la materia oscura, quel che sappiamo del cosmo e del cervello.

Spero vivamente che possa piacere.

#podcast #inaf #tralerighedelcielo

Questa voce è stata modificata (1 giorno fa)
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Google Broke reCAPTCHA for De-Googled Android Users reclaimthenet.org/google-broke…

Google has tied its next-generation reCAPTCHA system to Google Play Services on Android, meaning anyone running a de-Googled phone will automatically fail verification when the system decides to challenge them. Another day another Google take over the world, open web and mobile ecosystems. This battle seems to be lost already because governments are ignoring shenanigans of Google.

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Il Presidente della Repubblica Sergio Mattarella al Politecnico di Milano: “Politica ascolti i giovani”

@scuola

corriereuniv.it/il-presidente-…

Il Presidente della Repubblica, Sergio Mattarella, ha partecipato a una lezione speciale del

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Copilot Studio accelera con .NET 10 su WebAssembly: fingerprinting automatico e AOT ottimizzato
#tech
spcnet.it/copilot-studio-accel…
@informatica


Copilot Studio accelera con .NET 10 su WebAssembly: fingerprinting automatico e AOT ottimizzato


Microsoft Copilot Studio è uno strumento di low-code per la creazione di agenti AI, e uno dei suoi punti di forza è l’esecuzione di logica C# direttamente nel browser tramite .NET WebAssembly (WASM). Di recente, il team di Copilot Studio ha completato la migrazione del motore WASM da .NET 8 a .NET 10 — e i risultati sono più che soddisfacenti. In questo articolo analizziamo in dettaglio cosa è cambiato, perché vale la pena migrare anche per le vostre applicazioni Blazor e WebAssembly, e quali ottimizzazioni concrete offre .NET 10 in questo ambito.

Il contesto: C# nel browser con .NET WebAssembly


Qualche mese fa il team di Copilot Studio aveva già pubblicato un post tecnico su come utilizzano .NET e WebAssembly per eseguire codice C# nel browser, mostrando i guadagni ottenuti passando da .NET 6 a .NET 8. Ora il ciclo si ripete con il salto a .NET 10, e la migrazione è stata descritta come sorprendentemente semplice.

Aggiornare un’applicazione WASM da .NET 8 a .NET 10 è sostanzialmente una questione di modificare il TargetFramework nei file .csproj e verificare la compatibilità delle dipendenze. Per Copilot Studio, il percorso è stato esattamente questo, e il build .NET 10 è già in produzione.

Fingerprinting automatico degli asset: addio script PowerShell personalizzati


Una delle novità più apprezzate di .NET 10 per le applicazioni WebAssembly è il fingerprinting automatico degli asset WASM. Quando si pubblica un’applicazione WebAssembly, ogni risorsa include ora un identificatore univoco nel nome del file, garantendo sia il cache-busting che l’integrità senza alcun intervento manuale.

Prima di .NET 10, Copilot Studio — come molte app WASM — doveva:

  • Leggere il manifest blazor.boot.json pubblicato per enumerare tutti gli asset.
  • Eseguire uno script PowerShell personalizzato per rinominare ogni file aggiungendo un hash SHA256.
  • Passare un argomento integrity esplicito lato JavaScript al momento del caricamento di ogni risorsa.

Con .NET 10, tutto questo è storia. Le risorse vengono importate direttamente da dotnet.js, i fingerprint fanno parte dei nomi di file pubblicati, e l’integrità è validata automaticamente. Il team ha potuto eliminare lo script di rinomina personalizzato e rimuovere l’argomento integrity dal loader JavaScript lato client.

Tip: Se caricate il runtime .NET WASM all’interno di un WebWorker, impostate dotnetSidecar = true durante l’inizializzazione per garantire il corretto avvio nel contesto worker.


Output AOT più piccolo con WasmStripILAfterAOT


L’altra novità di spicco per .NET WASM in .NET 10 è che WasmStripILAfterAOT è ora abilitato per default per le build AOT. Dopo la compilazione ahead-of-time dei metodi .NET in WebAssembly, il codice IL (Intermediate Language) originale non è più necessario a runtime: .NET 10 lo elimina dall’output pubblicato per default. In .NET 8 questa impostazione esisteva ma era disattivata.

Copilot Studio adotta una strategia di packaging più sofisticata. Per ottenere il meglio sia in termini di avvio rapido che di performance a regime, spedisce un singolo pacchetto NPM che contiene sia un motore JIT (per l’avvio veloce) che un motore AOT (per la massima velocità di esecuzione). A runtime, Copilot Studio carica JIT e AOT in parallelo: il motore JIT gestisce le interazioni iniziali, poi cede il controllo all’AOT non appena è pronto. I file identici tra i due modi vengono deduplicati per mantenere il pacchetto compatto.

Poiché WasmStripILAfterAOT produce assembly AOT che non corrispondono più alle controparti JIT, meno file possono essere condivisi tra i due motori:

  • Su .NET 8: 59 file condivisi tra JIT e AOT.
  • Su .NET 10: solo 22 file condivisi.

L’effetto netto sul pacchetto Copilot Studio è un aumento di dimensione di circa il 15%. In pratica l’impatto per gli utenti finali è contenuto, poiché il motore JIT resta quello scaricato ed eseguito per primo: l’interattività iniziale non è compromessa. Il download AOT è circa 6% (~200 ms) più lento su una LAN veloce e circa 17% (~5 secondi) più lento su una connessione 4G — tutto in background, dopo che l’app è già operativa.

I risultati di performance


I benefici a runtime superano ampiamente il costo in termini di packaging per i workload di Copilot Studio:

  • ~20% più veloce nell’esecuzione alla prima chiamata (cold path).
  • ~5% più veloce nelle chiamate successive (warm path).

I guadagni sono più visibili negli agenti grandi e complessi (“big bots”), dove il codice AOT compilato fa il grosso del lavoro. Per workload più semplici i miglioramenti sono comunque presenti ma più contenuti.

Come migrare la vostra app a .NET 10


Se avete un’applicazione Blazor o .NET WebAssembly su .NET 8, vale la pena provare .NET 10. Ecco i passi essenziali:

  1. Aggiornate <TargetFramework> a net10.0 e aggiornate i riferimenti a pacchetti Microsoft.AspNetCore.*, Microsoft.Extensions.* e System.*.
  2. Rimuovete eventuale logica personalizzata di rinomina degli asset o plumbing per l’integrity — il fingerprinting è ora integrato.
  3. Se compilate in AOT, beneficerete automaticamente del nuovo default WasmStripILAfterAOT.

Se avete bisogno di supporto per l’aggiornamento, GitHub Copilot app modernization for .NET può analizzare la soluzione, pianificare l’aggiornamento e applicare le modifiche necessarie.

Conclusione


La migrazione di Copilot Studio a .NET 10 è l’ennesima conferma che ogni release di .NET porta WebAssembly a essere più veloce, più leggero e più semplice da distribuire. La rimozione dello script di fingerprinting personalizzato è un piccolo ma significativo esempio di come il framework stia maturando: quello che prima richiedeva custom tooling è ora built-in. Se state ancora su .NET 8, questo è il momento giusto per valutare il salto.

Fonte: Copilot Studio gets faster with .NET 10 on WebAssembly — Daniel Roth, .NET Blog


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Durable Workflows nel Microsoft Agent Framework: da console app ad Azure Functions
#tech
spcnet.it/durable-workflows-ne…
@informatica


Durable Workflows nel Microsoft Agent Framework: da console app ad Azure Functions


Il Microsoft Agent Framework (MAF) è un framework open source multi-linguaggio pensato per costruire, orchestrare e distribuire agenti AI. Con le ultime versioni, il framework ha introdotto un modello di programmazione a workflow che permette di comporre più agenti e unità di lavoro in pipeline multi-step. In questo articolo vedremo come funziona questo modello, come aggiungere durabilità ai workflow e come fare il deploy su Azure Functions.

Il modello di programmazione a Workflow


Il sistema si basa su due concetti fondamentali: Executor e WorkflowBuilder.

Executor: l’unità di lavoro


Un Executor è la granularità minima del workflow. Riceve un input tipizzato, lo elabora e produce un output. Si crea estendendo Executor<TInput, TOutput>:

internal sealed class OrderLookup() : Executor<OrderCancelRequest, Order>("OrderLookup")
{
    public override async ValueTask<Order> HandleAsync(
        OrderCancelRequest message,
        IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        await Task.Delay(TimeSpan.FromMilliseconds(100), cancellationToken);
        return new Order(
            Id: message.OrderId,
            OrderDate: DateTime.UtcNow.AddDays(-1),
            IsCancelled: false,
            CancelReason: message.Reason,
            Customer: new Customer(Name: "Mario", Email: "mario@example.com"));
    }
}

internal sealed class OrderCancel() : Executor<Order, Order>("OrderCancel")
{
    public override async ValueTask<Order> HandleAsync(
        Order message, IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        await Task.Delay(TimeSpan.FromMilliseconds(200), cancellationToken);
        return message with { IsCancelled = true };
    }
}

internal sealed class SendEmail() : Executor<Order, string>("SendEmail")
{
    public override ValueTask<string> HandleAsync(
        Order message, IWorkflowContext context,
        CancellationToken cancellationToken = default)
    {
        return ValueTask.FromResult(
            $"Email di cancellazione inviata per l'ordine {message.Id} a {message.Customer.Email}.");
    }
}

I parametri di tipo definiscono il contratto: TInput è ciò che riceve dal passo precedente, TOutput è ciò che passa al passo successivo. Il framework verifica la compatibilità dei tipi a compile time.

WorkflowBuilder: il grafo di esecuzione


Il WorkflowBuilder collega gli executor in un grafo diretto. Si definiscono gli archi tra executor e si ottiene un oggetto Workflow immutabile:

OrderLookup orderLookup = new();
OrderCancel orderCancel = new();
SendEmail sendEmail = new();

Workflow cancelOrder = new WorkflowBuilder(orderLookup)
    .WithName("CancelOrder")
    .WithDescription("Cancella un ordine e notifica il cliente")
    .AddEdge(orderLookup, orderCancel)
    .AddEdge(orderCancel, sendEmail)
    .Build();

Esecuzione in-process


Per eseguire il workflow senza dipendenze esterne si usa InProcessExecution.RunStreamingAsync. Restituisce uno StreamingRun che emette eventi man mano che ogni step completa:

var cancelRequest = new OrderCancelRequest(OrderId: "123", Reason: "Colore errato");

await using StreamingRun run = await InProcessExecution.RunStreamingAsync(
    cancelOrder, input: cancelRequest);

await foreach (WorkflowEvent evt in run.WatchStreamAsync())
{
    if (evt is ExecutorCompletedEvent completed)
        Console.WriteLine($"{completed.ExecutorId}: {completed.Data}");
}

Bastano i pacchetti NuGet Microsoft.Agents.AI e Microsoft.Agents.AI.Workflows. Nessuna infrastruttura, nessun Docker, solo una console app .NET.

Aggiungere la durabilità con DurableTask


L’esecuzione in-process perde lo stato se il processo termina. Per workflow di produzione — che devono sopravvivere ai riavvii, girare per ore e rimanere osservabili — si aggiunge il pacchetto Microsoft.Agents.AI.DurableTask:

dotnet add package Microsoft.Agents.AI.DurableTask --prerelease
dotnet add package Microsoft.DurableTask.Client.AzureManaged
dotnet add package Microsoft.DurableTask.Worker.AzureManaged
dotnet add package Microsoft.Extensions.Hosting

Il runtime durable fornisce:
  • Esecuzione stateful e durabile: il workflow sopravvive ai riavvii del processo
  • Checkpointing automatico: il progresso viene salvato dopo ogni step
  • Esecuzione distribuita: gli executor possono girare su macchine diverse
  • Orchestrazioni long-running: i workflow possono durare minuti, ore o giorni
  • Osservabilità: dashboard integrata per monitorare e gestire le esecuzioni

Il punto chiave è che la definizione del workflow non cambia. Si usa lo stesso WorkflowBuilder, cambia solo l’hosting:

string dtsConnectionString = "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None";

IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices(services =>
    {
        services.ConfigureDurableWorkflows(
            workflowOptions => workflowOptions.AddWorkflow(cancelOrder),
            workerBuilder: builder => builder.UseDurableTaskScheduler(dtsConnectionString),
            clientBuilder: builder => builder.UseDurableTaskScheduler(dtsConnectionString));
    })
    .Build();

await host.StartAsync();

IWorkflowClient workflowClient = host.Services.GetRequiredService<IWorkflowClient>();
IAwaitableWorkflowRun run = (IAwaitableWorkflowRun)await workflowClient
    .RunAsync(cancelOrder, new OrderCancelRequest("12345", "Colore errato"));

string? result = await run.WaitForCompletionAsync<string>();
Console.WriteLine($"Workflow completato: {result}");

Per lo sviluppo locale si avvia il DTS Emulator in Docker:
docker run -d --name dts-emulator   -p 8080:8080 -p 8082:8082   mcr.microsoft.com/dts/dts-emulator:latest

La dashboard è disponibile su http://localhost:8082 e mostra la timeline di ogni executor, gli input/output per ciascun step e lo stato delle esecuzioni.

Fan-Out / Fan-In con agenti AI


Uno dei pattern più potenti è il fan-out/fan-in: più agenti AI elaborano lo stesso input in parallelo, poi un executor aggrega i risultati. MAF supporta l’uso diretto di agenti AI come executor tramite il metodo estensione AsAIAgent:

AIAgent physicist = chatClient.AsAIAgent(
    "Sei un esperto di fisica. Rispondi in 2-3 frasi concise.", "Physicist");

AIAgent chemist = chatClient.AsAIAgent(
    "Sei un esperto di chimica. Rispondi in 2-3 frasi concise.", "Chemist");

Workflow workflow = new WorkflowBuilder(parseQuestion)
    .WithName("ExpertReview")
    .AddFanOutEdge(parseQuestion, [physicist, chemist])
    .AddFanInBarrierEdge([physicist, chemist], aggregator)
    .Build();

Con il runtime durable, il fisico potrebbe eseguire su una VM e il chimico su un’altra. Se il processo si riavvia a metà esecuzione, gli agenti già completati non vengono rieseguiti grazie al checkpointing.

Deploy su Azure Functions


Per il deploy serverless si aggiunge il pacchetto Microsoft.Agents.AI.Hosting.AzureFunctions. I vantaggi:

  • Scaling serverless: Azure Functions scala automaticamente in base al carico
  • HTTP endpoint automatici: ogni workflow registrato ottiene un HTTP trigger, senza scrivere controller o routing
  • Supporto MCP: i workflow possono essere esposti come MCP tool con un singolo flag, rendendoli scopribili da altri agenti AI
  • Zero boilerplate: il pacchetto genera orchestratori e activity function automaticamente


Conclusioni


Il Microsoft Agent Framework propone un’astrazione pulita per costruire workflow di agenti AI: si definisce il grafo una volta sola, e si sceglie il runtime — in-process per lo sviluppo, durable per la produzione, Azure Functions per il serverless. La separazione netta tra definizione del workflow e modalità di hosting è il punto di forza dell’approccio: consente di passare da un prototipo locale a un’orchestrazione distribuita con modifiche minime al codice.

Il framework è open source e in evoluzione rapida. Il codice di esempio completo è disponibile nella repository GitHub del Microsoft Agent Framework.

Fonte originale: Durable Workflows in the Microsoft Agent Framework — .NET Blog, Shyju Krishnankutty


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

roma, 16 maggio, spazio sferocromia: in occasione del finissage della mostra di manuela scannavini, dialogo con giulio marzaioli


finissage mostra Manuela Scannavini_ con Giulio Marzaioli
_

un articolo: ilsole24ore.com/art/tra-suono-…
#art #arte #EugeniaQuerci #finissage #GiulioMarzaioli #ManuelaScannavini #Monteverde #mostra #scritturaDiRicerca #scrittureDiRicerca #SpazioSferocromia #SpinOff #Tic #TicEdizioni

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Tra pochi mesi Android rischia di diventare una piattaforma sempre più chiusa: Google sembra voler restringere progressivamente quella libertà che ha reso questo sistema unico nel panorama mobile.

Per questo è fondamentale difendere un Android aperto. In prima linea ci sono anche realtà italiane come @fedimedia e @ItaLinuxSociety, che hanno aderito alla campagna.

👉 Qui trovi la lettera aperta a Google:
fedimedia.it/fedimedia-firma-l…

Condividi e segui le iniziative nel gruppo👉 @opensource

#android


Fedimedia firma la lettera aperta per Mantenere Android Libero, unisciti alla battaglia “keep android open” per liberare lo smartphone


Oggi il controllo degli smartphone è sempre più concentrato nelle mani di poche grandi aziende. Anche un sistema che nasce libero come Android rischia di essere progressivamente chiuso, regolato e trasformato in uno strumento sotto controllo centralizzato, ma qualcosa si sta muovendo.

Fedimedia Italia APS è parte attiva del movimento internazionale keep android open che non si limita a denunciare, ma lavora concretamente insieme ad alcune delle più importanti realtà del mondo open source e del free software per difendere un futuro digitale libero, aperto e decentralizzato ed è fra i firmatari della lettera aperta a google per mantenere l’ecosistema android aperto.

Per questa campagna abbiamo attivato un banner in alto con un conto alla rovescia: il tempo che resta a un Android davvero libero. Un segnale chiaro per sensibilizzare tutte le persone su quanto sta accadendo e sull’urgenza di non restare a guardare.

👉 Se credi anche tu che la tecnologia debba essere al servizio delle persone e non il contrario puoi fare un passo concreto:

Sostieni Fedimedia e partecipa al movimento per la liberazione della tecnologia. Bastano pochi secondi per lasciare il tuo interesse tramite il modulo di contatto. e venire aggiornato sulle azioni intraprese da fedimedia e dal movimento Keep Android Open.

La lettera che abbiamo indirizzato al movimento Keep Android Open


Gentili promotori della campagna KeepAndroidOpen,

con grande interesse e condivisione dei valori espressi nella vostra lettera aperta a Google, scriviamo per aderire ufficialmente alla vostra iniziativa in difesa di un Android libero, aperto e indipendente da controlli centralizzati.

Fedimedia Italia APS nasce per promuovere unecosistema digitale basato su principi di libertà, decentralizzazione e sovranità tecnologica. Come associazione che si batte per un web etico e indipendente dalle Big Tech, non possiamo che sostenere con forza la vostra opposizione alla registrazione obbligatoria degli sviluppatori.

Perchè non dovrebbero vincolare lo sviluppo di app su qualsiasi dispositivo ?

Ci piace pensare ad Android come a una tela di pittore, ai dispositivi come a pennelli e alle app come a colori: chi produce gli strumenti non può pretendere di controllare l’arte che ne scaturisce, né tantomeno imporre agli artisti di registrarsi presso un unico fornitore per poter creare.

La libertà di espressione digitale, proprio come quella artistica, non può essere soggetta a permessi o a gatekeeper. Imporre una registrazione centralizzata significa trasformare una piattaforma aperta in un sistema chiuso a chi non autorizzato da voi, dove la creatività e l’innovazione sono ostaggi di regole arbitrarie e di interessi commerciali.

Per noi, la decentralizzazione e l’apertura non sono solo scelte tecniche, ma valori fondanti: ogni sviluppatore, ogni utente, ogni comunità deve poter operare senza dover chiedere il permesso a un’unica autorità. La vostra battaglia è anche la nostra, perché difendere Android significa difendere il diritto di tutti a un futuro digitale pluralista, trasparente e rispettoso dei diritti fondamentali.

Con questa email, vi comunichiamo quindi la nostra piena adesione alla campagna KeepAndroidOpen. Siamo pronti a sostenervi nella diffusione dei vostri obiettivi, a partecipare attivamente alle iniziative promosse e a collaborare per costruire alternative concrete che preservino la libertà e l’apertura di Android, valori che condividiamo profondamente.

Rimaniamo a disposizione per qualsiasi ulteriore passo o azione collettiva.

Cordiali saluti,
Fedimedia Italia APS

Qui di seguito la lettera aperta indirizzata ai vertici di Google


Questa è la traduzione della lettera aperta a Google indirizzata ai fondatori, CEO e dirigenti Google

Dat</code><code>a</code><code>:</code><code> </code><code>24 febbraio</code><code> 2026</code><code>A</code><code>:</code><code> </code><code>Sundar Pichai, Chief Executive Officer, Google</code><code>A</code><code>:</code><code> </code><code>Sergey Brin, Founder and Board Member, Google</code><code>A</code><code>:</code><code> </code><code>Larry Page, Founder and Board Member, Google</code><code>A</code><code>: Vijaya Kaza, General Manager for App & Ecosystem Trust, Google</code><code>CC:</code><code> </code><code>Regulatory authorities, policymakers, and the Android developer community</code><code>Re:</code><code> </code><code>Mandatory Developer Registration for Android App Distribution

Noi, le organizzazioni sottoscritte che rappresentano la società civile, le istituzioni no-profit e le aziende tecnologiche, scriviamo per esprimere la nostra ferma opposizione alla politica annunciata da Google, che richiede a tutti gli sviluppatori di app Android di registrarsi in maniera centralizzata presso Google per poter distribuire applicazioni al di fuori del Google Play Store e che entrerà in vigore in tutto il mondo nei prossimi mesi.

Pur riconoscendo l’importanza della sicurezza della piattaforma e della sicurezza degli utenti, la piattaforma Android include già diversi meccanismi di sicurezza che non richiedono una registrazione centralizzata. Iniettare forzatamente un modello di sicurezza estraneo, in contrasto con la storica natura aperta di Android, minaccia l’innovazione, la concorrenza, la privacy e la libertà degli utenti. Esortiamo Google a ritirare questa policy e a collaborare con le comunità open source e della sicurezza per trovare alternative meno restrittive.

Le nostre preoccupazioni


1. Controllo oltre lo Store di Google

Android è storicamente caratterizzato come una piattaforma aperta in cui utenti e sviluppatori possono operare indipendentemente dai servizi di Google. La politica di registrazione degli sviluppatori proposta modifica radicalmente tale rapporto, richiedendo agli sviluppatori che desiderano distribuire app tramite canali alternativi (i propri siti web, app store di terze parti, sistemi di distribuzione aziendali o trasferimenti diretti) di richiedere prima l’autorizzazione a Google attraverso una procedura di verifica obbligatoria, che prevede l’accettazione dei termini e delle condizioni di Google, il pagamento di una quota e il caricamento di un documento di identità rilasciato dal governo.

Ciò estende l’autorità di controllo di Google oltre il proprio marketplace, estendendola a canali di distribuzione in cui non ha alcun ruolo operativo legittimo. Gli sviluppatori che scelgono di non utilizzare i servizi di Google non dovrebbero essere costretti a registrarsi e a sottoporsi al giudizio di Google. Centralizzare la registrazione di tutte le applicazioni a livello mondiale conferisce inoltre a Google nuovi poteri per disattivare completamente qualsiasi app desideri, per qualsiasi motivo, per l’intero ecosistema Android.

2. Barriera all’ingresso e ostacolo all’innovazione

La registrazione obbligatoria crea ostacoli e barriere all’ingresso, in particolare per:

  • Gli sviluppatori individuali e i piccoli team con risorse limitate
  • I progetti open source che si basano su collaboratori volontari
  • Gli sviluppatori in aree geografiche con accesso limitato all’infrastruttura di registrazione di Google
  • Gli sviluppatori focalizzati sulla privacy che evitano gli ecosistemi di sorveglianza
  • La risposta alle emergenze e le organizzazioni umanitarie che richiedono un rapido intervento
  • Gli attivisti che lavorano per la libertà di Internet in paesi che criminalizzano ingiustamente tale lavoro
  • Gli sviluppatori in paesi o aree in cui Google non può consentire loro di registrarsi a causa di sanzioni
  • I ricercatori e gli accademici che sviluppano applicazioni sperimentali
  • Le applicazioni aziendali e governative interne che non sono mai state pensate per un’ampia distribuzione pubblica

Ogni ulteriore ostacolo burocratico riduce la diversità nell’ecosistema software e concentra il potere nelle mani di grandi attori affermati che possono assorbire più facilmente tali costi di conformità.

3. Problemi di privacy e sorveglianza

Richiedere la registrazione a Google crea un database completo di tutti gli sviluppatori Android, indipendentemente dal fatto che utilizzino o meno i servizi Google. Ciò solleva seri interrogativi su:

  • Quali informazioni personali devono fornire gli sviluppatori
  • Come queste informazioni saranno archiviate, protette e utilizzate
  • La possibilità che questi dati possano essere soggetti a richieste governative o procedimenti legali
  • La modalità con cui l’attività degli sviluppatori possa essere monitorata nell’intero ecosistema
  • L’impatto che comporta per gli sviluppatori che lavorano su applicazioni che tutelano la privacy o che sono politicamente sensibili

Gli sviluppatori dovrebbero avere il diritto di creare e distribuire software senza sottoporsi a inutili controlli o sorveglianza.

4. Rischi di applicazione arbitraria e chiusura dell’account

Gli attuali processi di revisione delle app di Google sono stati criticati per la scarsa trasparenza del processo decisionale, l’applicazione incoerente delle norme e i meccanismi di ricorso limitati. L’estensione di questo sistema a tutti i dispositivi certificati Android comporta i seguenti rischi:

  • Rifiuto arbitrario o sospensione senza chiara giustificazione
  • Sistemi automatizzati che prendono decisioni consequenziali con una supervisione umana insufficiente
  • Sviluppatori che perdono la possibilità di distribuire app su tutti i canali a causa di una singola decisione aziendale non verificabile
  • Considerazioni politiche o competitive che influenzano l’approvazione della registrazione
  • Impatto sproporzionato sulle comunità emarginate e applicazioni controverse ma legali

Un singolo punto di vulnerabilità controllato da una sola azienda è l’antitesi di un ecosistema software sano e competitivo.

5. Implicazioni anticoncorrenziali

Questo requisito consente a Google di raccogliere informazioni su tutte le attività di sviluppo Android, tra cui:

  • Quali app vengono sviluppate e da chi
  • Le strategie di distribuzione e modelli di business alternativi
  • Le minacce competitive ai servizi di Google
  • Le tendenze di mercato e preferenze degli utenti al di fuori dell’ecosistema di Google

Questa asimmetria informativa fornisce a Google notevoli vantaggi competitivi, le consente di anticipare, copiare e indebolire prodotti e servizi concorrenti e potrebbe sollevare numerose questioni in materia di antitrust.

6. Problemi normativi

Le autorità di regolamentazione di tutto il mondo, tra cui la Commissione Europea, il Dipartimento di Giustizia degli Stati Uniti e le autorità garanti della concorrenza in diverse giurisdizioni, hanno esaminato con sempre maggiore attenzione la capacità delle piattaforme dominanti di privilegiare i propri servizi e limitare la concorrenza, richiedendo maggiore apertura e interoperabilità. Notiamo inoltre crescenti preoccupazioni circa l’intervento normativo che aumenta la sorveglianza di massa, ostacolando la libertà del software, l’apertura di Internet e la neutralità dei dispositivi.

Invitiamo Google a trovare modi alternativi per conformarsi agli obblighi normativi, promuovendo modelli che rispettino la natura aperta di Android senza aumentare il controllo dei gatekeeper sulla piattaforma.

Le misure esistenti sono sufficienti


La piattaforma Android include già diversi meccanismi di sicurezza che non richiedono la registrazione centrale:

  • Funzionalità di sicurezza a livello di sistema operativo, sandbox delle applicazioni e sistemi di autorizzazione
  • Avvisi utente per le applicazioni installate direttamente (o “sideloaded”)
  • Google Play Protect (che gli utenti possono scegliere di abilitare o disabilitare)
  • Certificati di firma dello sviluppatore che stabiliscono la provenienza del software

Non è stata presentata alcuna prova che queste misure di sicurezza siano insufficienti a continuare a proteggere gli utenti Android come hanno fatto per tutti i diciassette anni di esistenza di Android. Se la preoccupazione di Google è realmente la sicurezza piuttosto che il controllo, dovrebbe investire nel miglioramento di questi meccanismi esistenti anziché creare nuovi colli di bottiglia e centralizzare il controllo.

La nostra petizione


Invitiamo Google a:

  1. Abrogare immediatamenteil requisito obbligatorio di registrazione dello sviluppatore per la distribuzione a terze parti.
  2. Avviare un dialogo trasparentecon la società civile, gli sviluppatori e gli enti regolatori sui miglioramenti della sicurezza Android, nel rispetto dell’apertura e della concorrenza.
  3. Impegnarsi a favore della neutralità della piattaformaassicurando che Android rimanga una piattaforma realmente aperta in cui il ruolo di Google come fornitore della piattaforma non sia in conflitto con i suoi interessi commerciali.

Nel corso degli anni, Android si è evoluto in un’infrastruttura tecnologica fondamentale al servizio di centinaia di governi, milioni di aziende e miliardi di cittadini in tutto il mondo. Consolidare e centralizzare unilateralmente il potere di approvare il software nelle mani di un’unica azienda che può esimersi da una reale responsabilità e rendicontabilità è antitetico ai principi della libertà di pensiero, è un affronto al software libero, è una barriera insormontabile alla concorrenza ed è una minaccia universale alla sovranità digitale.

Imploriamo Google di invertire la rotta, porre fine al programma di verifica degli sviluppatori e iniziare a collaborare con la più ampia comunità degli sviluppatori per promuovere gli obiettivi di sicurezza senza sacrificare i principi di massima apertura in base ai quali è stato realizzato Android. La forza dell’ecosistema Android è storicamente basata sulla sua architettura aperta e Google deve impegnarsi per ripristinare il suo ruolo di fedele custode di tale fiducia.


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Le università ospitano editori commerciali e agenti valutatori di stato. Si tratta solo di capire in che senso: Dati nostri, #IA loro: l’università come organismo ospite
#IA
Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

"Thousands of shady ads sell paper authorship for cash, large-scale investigation finds."
science.org/content/article/th…

PS: This article from _Science_ reports important news about paper mills. But apart from that, note that it draws from an #arXiv preprint that hasn't been released yet. It's a preprint preprint, and from _Science_. A nice example of the ongoing #ScholComm transformation.

#Misconduct #PaperMills

Questa voce è stata modificata (2 settimane fa)
in reply to petersuber

Update. You can now see the preprint itself, on #arXiv.
arxiv.org/abs/2604.24576

From the abstract: "We assemble BuyTheBy, a large, annotated dataset of timestamped, text-based paper mill advertisements from seven businesses operating out of seven different countries. The dataset consists of 18,710 individual advertisements, of which 15,839 have prices listed. Among these there are 20,598 positions listed as for sale on 5,567 unique products in 14 different product categories with 51,812 timestamped price data points."

#Misconduct #PaperMills #ScholComm

Questa voce è stata modificata (1 settimana fa)
in reply to petersuber

Update. Related:

"Opening Pandora's box: Paper mills in conference proceedings."
arxiv.org/abs/2604.22458

From the abstract: "This study aims to identify papers in conference proceedings whose titles have been offered for sale on social media platforms. We collected more than 4,000 unique publication offers from more than 200 social media channels and used semi-automated methods along with human assessment to match offers with papers published in IEEE conference proceedings. We identified 1,720 papers in 286 IEEE conference proceedings, accounting for up to 23.51% of an individual conference. These problematic papers are co-authored by more than 6,500 researchers from over 3,500 affiliations in 55 countries."

#Misconduct #PaperMills #ScholComm

reshared this

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

"Key US science panels are being axed — and others are becoming less open."
nature.com/articles/d41586-026…

"A Nature analysis shows that the Trump administration has terminated more than 100 advisory committees to science agencies — and reduced the transparency and independence of those that remain… Researchers say that the elimination of panels and other changes seemingly contradict the Trump administration’s… executive order on ‘gold-standard science’ … to improve transparency in federally funded science."

#DefendResearch #GoldStandard #Trump #TrumpVResearch #USPol #USPolitics

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Roma, 20 maggio, presentazione di EXIT POETRY @ Bianco contemporaneo


qui tutte le info: mobilizon.it/events/600e040c-7…

segnate in calendario! accorret_ numeros_

#poesia #exitpoetry #librocollettivo

reshared this

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

23 maggio, pietrasanta, art studio la marina: beppe madaudo – anteprima


Madaudo_ vernissage della mostra all'art studio La marina_ Pietrasanta 23 mag 2026
cliccare per ingrandire

info: studiolamarina.art/index.php/b…

Dal 23 maggio al 28 giugno 2026 l’Art Studio La Marina presenta Anteprima, prima mostra personale di Beppe Madaudo a Pietrasanta, a cura di Diego Ferrante. Le opere in mostra introducono un corpus pittorico che lavora sulla figurazione come pratica materica: densa, stratificata, refrattaria a ogni lettura puramente simbolica.
#anteprima #art #ArtStudioLaMarina #arte #BeppeMadaudo #DiegoFerrante #figurazione #LaMarina #Pietrasanta #praticaMaterica

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

Il nuovo post di universita-it: Sciopero generale 18 maggio

Qui il post completo: universita.it/sciopero-general…

@universitaly

Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Kubernetes v1.36: Sharded List and Watch lato server per cluster ad alta scala
#tech
spcnet.it/kubernetes-v1-36-sha…
@informatica


Kubernetes v1.36: Sharded List and Watch lato server per cluster ad alta scala


Con la crescita dei cluster Kubernetes verso decine di migliaia di nodi, i controller che osservano risorse ad alta cardinalità come i Pod si scontrano con un limite di scalabilità ben preciso. Kubernetes v1.36 introduce in alpha una soluzione elegante: il Server-Side Sharded List and Watch (KEP-5866), che sposta il filtraggio upstream nell’API server, riducendo drasticamente il traffico verso ogni replica di un controller.

Il problema: scaling client-side


Alcuni controller, come kube-state-metrics, supportano già lo sharding orizzontale: ogni replica è assegnata a una porzione dello spazio delle chiavi e scarta gli oggetti che non le appartengono. Questo approccio funziona dal punto di vista della correttezza, ma non risolve il problema di scala:

  • N repliche × stream completo: ogni replica deserializza ed elabora ogni evento, poi scarta ciò che non le compete
  • La banda di rete scala con le repliche, non con la dimensione dello shard
  • CPU sprecata: il costo di deserializzazione è sostenuto per la frazione scartata

In sintesi, scalare orizzontalmente il controller moltiplica il costo per replica invece di ridurlo.

La soluzione: sharding lato server


Il Server-Side Sharded List and Watch risolve il problema spostando il filtraggio nell’API server. Ogni replica comunica all’API server quale intervallo di hash è di sua competenza, e l’API server invia solo gli eventi corrispondenti.

La feature aggiunge un campo shardSelector a ListOptions. I client specificano un intervallo di hash tramite la funzione shardRange():

shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')

L’API server calcola un hash FNV-1a a 64 bit deterministico del campo specificato e restituisce solo gli oggetti il cui hash ricade nell’intervallo [start, end). Questo vale sia per le risposte di list che per i flussi di eventi watch.

La funzione di hash produce lo stesso risultato su tutte le istanze dell’API server, quindi la feature è sicura anche con più repliche dell’API server.

I percorsi di campo attualmente supportati sono object.metadata.uid e object.metadata.namespace.

Utilizzo pratico nei controller


I controller tipicamente usano informer per fare list e watch sulle risorse. Per fare lo sharding del carico, ogni replica inietta il shardSelector nelle ListOptions usate dai suoi informer tramite WithTweakListOptions:

import (
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    "k8s.io/client-go/informers"
)

shardSelector := "shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"

factory := informers.NewSharedInformerFactoryWithOptions(
    client,
    resyncPeriod,
    informers.WithTweakListOptions(func(opts *metav1.ListOptions) {
        opts.ShardSelector = shardSelector
    }),
)

Per un deployment con 2 repliche, i selettori dividono lo spazio degli hash a metà:
// Replica 0: metà inferiore dello spazio di hash
"shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"

// Replica 1: metà superiore dello spazio di hash
"shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000')"

Una singola replica può anche coprire range non contigui usando ||:
"shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') || " +
"shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000')"

Verificare che il server supporti il selettore


Quando l’API server onora un shard selector, la risposta list include un campo shardInfo nel metadata della risposta che riporta il selettore applicato:

{
  "kind": "PodList",
  "apiVersion": "v1",
  "metadata": {
    "resourceVersion": "10245",
    "shardInfo": {
      "selector": "shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000')"
    }
  },
  "items": [ ... ]
}

Se shardInfo è assente, il server non ha applicato il shard selector e il client ha ricevuto la collezione completa non filtrata. In questo caso, il client deve essere pronto a gestire il risultato completo — ad esempio applicando un filtraggio client-side per scartare gli oggetti fuori dal proprio shard.

Come abilitarla e stato della feature


Questa feature è in alpha in Kubernetes v1.36 e richiede di abilitare il feature gate ShardedListAndWatch sull’API server:

--feature-gates=ShardedListAndWatch=true

Non è ancora consigliata per ambienti di produzione, ma rappresenta un’opportunità preziosa per i team che gestiscono cluster di grandi dimensioni di iniziare i test e fornire feedback al SIG API Machinery.

Implicazioni architetturali


L’impatto di questa feature va oltre la semplice riduzione del traffico di rete. Cambia il modello mentale con cui si progettano controller scalabili:

  • Efficienza reale: il costo per replica diminuisce proporzionalmente al numero di shard, invece di aumentare
  • Scalabilità lineare: aggiungere repliche riduce effettivamente il carico su ciascuna
  • Semplicità implementativa: lo sharding è dichiarativo — si specifica l’intervallo, l’API server fa il resto
  • Compatibilità hash deterministica: FNV-1a garantisce distribuzione uniforme e risultati coerenti su più API server


Conclusioni


Il Server-Side Sharded List and Watch è una di quelle feature che risolvono un problema reale per chi opera cluster Kubernetes di grandi dimensioni. Spostare il filtraggio nell’API server è la scelta architetturalmente corretta: elimina il lavoro inutile alla radice invece di cercare di ottimizzarlo lato client.

Per i controller author e gli operatori di cluster grandi, vale la pena iniziare a sperimentare con questa feature sin da ora, contribuendo feedback al team di SIG API Machinery tramite il canale #sig-api-machinery su Kubernetes Slack.

Fonte originale: Kubernetes v1.36: Server-Side Sharded List and Watch — Kubernetes Blog, Jeffrey Ying


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

Costruire un MCP Server in C#: agenti AI con contesto reale usando il Model Context Protocol
#tech
spcnet.it/costruire-un-mcp-ser…
@informatica


Costruire un MCP Server in C#: agenti AI con contesto reale usando il Model Context Protocol


Uno degli ostacoli più concreti nel lavorare con agenti AI è la mancanza di contesto reale: i modelli linguistici hanno una conoscenza “congelata” nel tempo e non hanno accesso ai vostri dati aziendali, alle vostre API interne o agli strumenti specifici del dominio. Il Model Context Protocol (MCP) nasce per risolvere esattamente questo problema, standardizzando il modo in cui applicazioni e agenti AI si scambiano contesto e strumenti. In questo articolo vediamo come i developer .NET possono costruire un MCP Server in C# e integrarlo con agenti AI come GitHub Copilot.

Cos’è il Model Context Protocol


MCP è un protocollo aperto — originariamente sviluppato da Anthropic e ora supportato da numerose aziende tech — che definisce un linguaggio comune tra agenti AI e endpoint specializzati. L’idea è semplice: un MCP Server espone tool (funzioni invocabili), resource (dati strutturati) e prompt (template riutilizzabili) che un agente AI può scoprire e usare dinamicamente. Il risultato è un’integrazione grounded e sicura, in cui l’agente sa cosa può fare e con quali dati lavorare.

Per i developer .NET c’è una buona notizia: esiste un SDK C# ufficiale per MCP che rende la costruzione di server e client MCP relativamente semplice, integrabile con il familiare ecosistema di Microsoft.Extensions.

Struttura base di un MCP Server in C#


Il punto di partenza è un’applicazione console .NET. Le dipendenze NuGet necessarie nel file .csproj sono:

<ItemGroup>
  <PackageReference Include="ModelContextProtocol" Version="*" />
  <PackageReference Include="Microsoft.Extensions.Hosting" Version="*" />
</ItemGroup>

Il pacchetto ModelContextProtocol fornisce le API per creare server e client MCP, mentre l’integrazione con Microsoft.Extensions.AI consente di collegare i tool a modelli AI tramite le astrazioni standard di .NET.

Definire i Tool con gli attributi MCP


La magia di MCP in C# passa attraverso due attributi principali: [McpServerToolType] applicato alla classe e [McpServerTool] applicato ai metodi. Ecco un esempio minimale con un tool Echo:

using ModelContextProtocol.Server;
using System.ComponentModel;

[McpServerToolType]
public static class EchoTool
{
    [McpServerTool, Description("Restituisce il messaggio ricevuto al mittente.")]
    public static string Echo(string message) => $"Hai detto: {message}";
}

L’attributo [Description] è fondamentale: il testo viene esposto all’agente AI come documentazione del tool, influenzando direttamente se e quando l’agente decide di invocarlo. Scrivete descrizioni chiare e precise.

Vediamo ora un tool più realistico che chiama un’API HTTP e restituisce dati JSON:

using System.ComponentModel;
using System.Net.Http.Json;
using System.Text.Json;
using ModelContextProtocol.Server;

[McpServerToolType]
public static class PostDataTool
{
    [McpServerTool, Description("Recupera un elenco di post di esempio dall'API.")]
    public static async Task<string> GetSamplePosts()
    {
        using var client = new HttpClient
        {
            BaseAddress = new Uri("https://jsonplaceholder.typicode.com")
        };
        var posts = await client.GetFromJsonAsync<List<Post>>("/posts");
        return JsonSerializer.Serialize(posts ?? new List<Post>());
    }
}

public class Post
{
    public int Id { get; set; }
    public string? Title { get; set; }
    public string? Body { get; set; }
}

Configurare il server in Program.cs


La configurazione del server MCP avviene in Program.cs, sfruttando il generic host di .NET:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = Host.CreateApplicationBuilder(args);

builder.Services
    .AddMcpServer()
    .WithStdioServerTransport()   // trasporto stdio per uso locale / VS Code
    .WithToolsFromAssembly();     // scoperta automatica di tutti i [McpServerToolType]

await builder.Build().RunAsync();

Il trasporto stdio è il più comune per server locali e per l’integrazione con VS Code. Per scenari più avanzati (server HTTP remoti, autenticazione OAuth) l’SDK supporta trasporti SSE e altri meccanismi.

Registrare il server in VS Code


Per rendere il server MCP disponibile a VS Code e a GitHub Copilot, create un file .vscode/mcp.json nella root del progetto:

{
  "servers": {
    "MyMcpServer": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "/percorso/completo/MyMcpServer.csproj"
      ]
    }
  }
}

VS Code legge questo file e avvia automaticamente il server MCP quando necessario. I tool vengono esposti nella chat di GitHub Copilot con il prefisso #NomeServer.

Testare con l’MCP Inspector


Prima di integrare il server con un agente AI reale, è utile verificarne il funzionamento con l’MCP Inspector, uno strumento interattivo basato su Node.js con frontend React. Non richiede installazione: basta eseguire:

npx @modelcontextprotocol/inspector

Dall’Inspector potete connettervi al vostro server .NET, esplorare i tool esposti, invocarli con parametri di test e verificare le risposte JSON — tutto senza dover aprire VS Code.

Integrazione con GitHub Copilot in modalità agente


Con il server registrato in mcp.json, GitHub Copilot in modalità Agent può scoprire e invocare i vostri tool. Nella chat è sufficiente fare riferimento a un tool con #NomeServer_NomeTool, oppure chiedere all’agente di completare un compito e lasciare che sia lui a decidere quali tool usare.

L’agente chiederà conferma prima di eseguire qualsiasi tool (a meno che non abbiate abilitato l’approvazione automatica per la sessione), e il risultato viene usato come contesto per la risposta successiva. Questo pattern è particolarmente potente quando il tool restituisce dati specifici del dominio — configurazioni di sistema, query a database interni, stati di pipeline CI/CD — che il modello non potrebbe altrimenti conoscere.

Scenari pratici per developer .NET


Alcuni use case concreti per un MCP Server in C#:

  • Query al database aziendale: esporre viste o stored procedure come tool MCP per permettere all’agente di rispondere a domande sui dati reali.
  • Integrazione con sistemi interni: wrappare API REST o servizi WCF legacy come tool MCP senza riscrivere nulla.
  • Automazione DevOps: tool per interrogare lo stato di pipeline, deployment o metriche di monitoring direttamente dalla chat dell’agente.
  • Contesto di progetto: esporre convenzioni architetturali, ADR (Architecture Decision Records) o specifiche di dominio come risorse MCP per guidare la generazione di codice.


Conclusione


Il Model Context Protocol è ancora in evoluzione, ma le fondamenta sono solide e l’adozione sta crescendo rapidamente. Per i developer .NET, l’SDK C# rende la costruzione di MCP Server accessibile e naturale, senza allontanarsi dalle convenzioni del framework. Investire oggi nel capire MCP significa essere pronti quando gli agenti AI diventeranno parte integrante del workflow di sviluppo quotidiano — e quel momento è già più vicino di quanto sembri.

Fonti: MCP Magic: Building Tool-Enabled AI Agents with C# — Visual Studio Magazine; Build & Leverage MCP Servers in C# for AI-Driven Development — Uno Platform


Poliversity - Università ricerca e giornalismo ha ricondiviso questo.

The media in this post is not displayed to visitors. To view it, please go to the original post.

The media in this post is not displayed to visitors. To view it, please go to the original post.

UAT-8302: il nuovo APT cinese con arsenale condiviso che spia governi su tre continenti
#CyberSecurity
insicurezzadigitale.com/uat-83…


UAT-8302: il nuovo APT cinese con arsenale condiviso che spia governi su tre continenti


Cisco Talos ha svelato UAT-8302, un gruppo APT con nexus cinese che condivide un toolkit malware con almeno sei altri threat actor legati a Pechino. Dalla fine del 2024 a oggi, il gruppo ha silenziosamente compromesso enti governativi in Sud America e Sud-Est Europa, usando una catena d’attacco modulare che combina backdoor .NET personalizzate, strumenti Rust e impianti RAT avanzati — tutti con radici nell’ecosistema cyber-offensivo della Cina.

Un gruppo nuovo, un arsenale già conosciuto


Il 5 maggio 2026, i ricercatori di Cisco Talos hanno pubblicato l’analisi completa di UAT-8302, un cluster di attività che operava nell’ombra da oltre diciotto mesi prima di essere formalmente identificato. Ciò che rende questo threat actor particolarmente interessante non è solo chi ha colpito, ma come lo ha fatto: il gruppo ha fatto largo uso di malware già documentato in campagne di altri attori cinesi, costruendo un arsenale di strumenti condivisi che suggerisce un ecosistema coordinato tra hacking group legati allo Stato.

Talos valuta con alto grado di confidenza che UAT-8302 sia un APT a nexus cinese il cui obiettivo primario è ottenere e mantenere accessi persistenti e a lungo termine presso entità governative e organizzazioni correlate in tutto il mondo. Le vittime documentate includono ministeri e agenzie governative in Sud America (attive dalla fine del 2024) e Europa sud-orientale (documentate nel 2025).

La catena d’infezione: dall’exploit iniziale alla persistenza


I ricercatori sospettano che UAT-8302 sfrutti vulnerabilità zero-day e N-day in applicazioni web per ottenere l’accesso iniziale, anche se i vettori precisi non sono stati confermati in tutti i casi analizzati. Una volta ottenuto il foothold, la kill chain si sviluppa con metodologia da manuale per operazioni di spionaggio a lungo termine:

  • Ricognizione estensiva: mapping della rete, enumerazione degli host e dei servizi esposti usando lo scanner open-source gogo, strumento popolare nell’ecosistema offensivo sinofono.
  • Lateral movement: sfruttamento di Impacket per movimento laterale, accesso a credenziali e persistenza attraverso protocolli Windows.
  • Distribuzione del payload finale: deployment di una o più famiglie malware personalizzate a seconda del target e dell’obiettivo dell’operazione.


L’arsenale malware: cinque famiglie per un unico attore


L’elemento più significativo di UAT-8302 è la varietà e la sofisticazione del suo toolkit. Il gruppo ha impiegato almeno cinque famiglie malware distinte, molte delle quali condivise con altri gruppi a nexus cinese:

NetDraft / NosyDoor


NetDraft (noto anche come NosyDoor) è una backdoor .NET che Talos descrive come una variante portata in C# del malware FINALDRAFT (alias Squidoor), sviluppato originariamente dal cluster Jewelbug/REF7707/CL-STA-0049. La caratteristica tecnica più rilevante è il suo meccanismo di C2: NetDraft utilizza la Microsoft Graph API per comunicare con il suo server di comando e controllo, usando OneDrive come canale covert. Un eseguibile legittimo viene usato per side-load una DLL malevola, che a sua volta decodifica NetDraft da un file di dati allegato ed esegue il codice nel contesto del processo corrente — una tecnica che rende l’impianto invisibile a molti prodotti EDR non configurati per monitorare l’uso anomalo delle API Microsoft.

SNOWRUST e VShell


Talos ha identificato SNOWRUST, una variante Rust di SNOWLIGHT, come stager di secondo livello. SNOWRUST decodifica ed esegue il shellcode di SNOWLIGHT incorporato per scaricare il payload finale — VShell (alias VSHELL) — da un server C2 in formato XOR-encoded. VShell è un RAT (Remote Access Trojan) documentato in numerose campagne cinesi precedenti e offre capacità complete di controllo remoto della macchina vittima.

CloudSorcerer v3.0


CloudSorcerer (versione 3.0) è una famiglia malware che Kaspersky aveva già documentato nel 2024 in attacchi contro entità governative russe. La comparsa della stessa famiglia in operazioni di UAT-8302 contro target diversi suggerisce non solo condivisione di codice, ma potenzialmente condivisione di infrastruttura o almeno di sviluppatori tra gruppi diversi dell’ecosistema APT cinese.

SNAPPYBEE / DeedRAT e ZingDoor


Le famiglie SNAPPYBEE (noto anche come DeedRAT) e ZingDoor sono state deployate congiuntamente in alcune campagne. SNAPPYBEE è una backdoor modulare con capacità di caricamento di plugin, già associata ad altri gruppi cinesi. ZingDoor, scritto in Go, completa il quadro con funzionalità di tunneling e proxy che facilitano la creazione di canali C2 resilienti.

Un ecosistema APT condiviso: la vera novità


Il dato più preoccupante che emerge dall’analisi Talos riguarda il modello operativo sottostante: UAT-8302 condivide il proprio arsenale con almeno sei altri gruppi APT a nexus cinese. Questo non è solo un’indicazione di affiliazione statale, ma suggerisce un’infrastruttura di sviluppo e distribuzione malware centralizzata, probabilmente gestita da un’entità governativa — plausibilmente correlata al Ministero della Sicurezza dello Stato (MSS) o all’Esercito Popolare di Liberazione (PLA).

Questa condivisione ha implicazioni pratiche per i difensori: il rilevamento di una singola famiglia (ad es. NetDraft) in un’organizzazione non significa necessariamente stare di fronte a UAT-8302 — potrebbe essere qualsiasi altro degli attori che usano lo stesso toolkit. Questo rende l’attribuzione più difficile e richiede un approccio di detection basato sul comportamento piuttosto che sulle singole firme malware.

Implicazioni geopolitiche


La scelta dei target — governi sudamericani e dell’Europa sud-orientale — riflette le priorità strategiche della Cina in due aree geografiche di crescente importanza. Il Sud America è al centro degli interessi economici e diplomatici di Pechino (BRI, accordi bilaterali, infrastrutture). L’Europa sud-orientale, con paesi come Serbia, Bulgaria e Romania, rappresenta un nodo critico per le ambizioni cinesi di influenza in Europa orientale, specialmente in un contesto di tensioni con NATO e UE.

Indicatori di compromissione (IoC)


Cisco Talos ha pubblicato IoC completi nel report ufficiale. Di seguito i principali indicatori tecnici associati alle famiglie malware di UAT-8302:

# Famiglie malware associate a UAT-8302
NetDraft / NosyDoor  — .NET backdoor, C2 via MS Graph API / OneDrive
SNOWRUST             — stager Rust, variante di SNOWLIGHT
VShell / VSHELL      — RAT multi-funzione, C2 XOR-encoded payload
CloudSorcerer v3.0   — backdoor condivisa con campagne Russia-targeting
SNAPPYBEE / DeedRAT  — backdoor modulare Go, plugin-based
ZingDoor             — tunneling/proxy Go-based

# Tecniche MITRE ATT&CK osservate
T1190 — Exploit Public-Facing Application (initial access)
T1574.002 — DLL Side-Loading (NetDraft loader)
T1071.001 — Application Layer Protocol: Web (MS Graph C2)
T1027 — Obfuscated Files or Information
T1078 — Valid Accounts (post-compromise credential abuse)
T1021 — Remote Services / Lateral Movement (Impacket)
T1082 — System Information Discovery
T1083 — File and Directory Discovery

# Tool open-source utilizzati
gogo      — scanner di rete popolare nell'ecosistema offensivo sinofono
Impacket  — toolkit Python per SMB/Kerberos/lateral movement

Due righe per i difensori


Dati i vettori e le tecniche osservate, le organizzazioni governative e le infrastrutture critiche dovrebbero prioritizzare le seguenti misure difensive. In primo luogo, monitorare il traffico verso Microsoft Graph API e OneDrive per accessi anomali da processi di sistema o applicazioni non standard — NetDraft usa questo canale per mascherare il C2 tra traffico legittimo. In secondo luogo, implementare controlli di DLL sideloading verificando che gli eseguibili firmati non carichino DLL da percorsi non standard. In terzo luogo, rilevare l’uso di Impacket attraverso il monitoraggio di traffico SMB/DCE-RPC anomalo, autenticazioni Kerberos insolite e creazione di servizi remoti. Infine, tenere aggiornate le applicazioni web esposte su internet, poiché UAT-8302 sfrutta CVE noti e zero-day per l’accesso iniziale.

Il report completo di Cisco Talos con IoC estesi è disponibile su blog.talosintelligence.com.