<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>low-level &#8211; Associazione ROOT APS</title>
	<atom:link href="https://www.rootclub.it/tag/low-level/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.rootclub.it</link>
	<description>APS ROOT il circolo più nerd nel raggio di 12 parsec.</description>
	<lastBuildDate>Wed, 07 Oct 2026 04:43:59 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.10</generator>

<image>
	<url>https://www.rootclub.it/wp-content/uploads/2018/10/cropped-logo14c-1-32x32.png</url>
	<title>low-level &#8211; Associazione ROOT APS</title>
	<link>https://www.rootclub.it</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153411733</site>	<item>
		<title>Addio astrazioni: quando l&#8217;hardware si spoglia di tutto (e noi ne siamo entusiasti)</title>
		<link>https://www.rootclub.it/addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti/</link>
					<comments>https://www.rootclub.it/addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti/#respond</comments>
		
		<dc:creator><![CDATA[Lamberto Tedaldi]]></dc:creator>
		<pubDate>Wed, 07 Oct 2026 04:43:59 +0000</pubDate>
				<category><![CDATA[webnews]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[low-level]]></category>
		<category><![CDATA[opensource]]></category>
		<guid isPermaLink="false">https://www.rootclub.it/addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti/</guid>

					<description><![CDATA[Scopriamo OpenTPU, un progetto che riporta l'architettura dei processori alle origini, dove ogni singolo movimento di dati è visibile e tracciabile. Niente cache nascoste, niente magie, solo pura efficienza programmabile.]]></description>
										<content:encoded><![CDATA[<figure class="aing-post-image wp-block-image size-full alignwide" style="margin-bottom: 1.5em;width: 100%"><a href="https://www.rootclub.it/wp-content/uploads/2026/10/Addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti-1791348237.png"><img decoding="async" src="https://www.rootclub.it/wp-content/uploads/2026/10/Addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti-1791348237.png" alt="Addio astrazioni: quando l&#039;hardware si spoglia di tutto (e noi ne siamo entusiasti)" style="width: 100% !important;max-width: 100% !important;height: auto !important" /></a></figure>
<p></p>
<p>E se vi dicessi che gran parte della potenza di calcolo che usiamo oggi viene sprecata in &#8216;trucchetti&#8217; che non riusciamo nemmeno a vedere? In un&#8217;epoca in cui le GPU e le NPU sono diventate scatole nere impenetrabili, dove il software lancia comandi e spera che lo scheduler faccia il suo lavoro, spunta fuori un progetto che urla &#8216;trasparenza&#8217; a squarciagola: OpenTPU.</p>
<p>Immaginate un mondo senza le solite astrazioni che rendono il debugging un incubo. OpenTPU non è il solito acceleratore che cerca di nasconderti la complessità sotto un tappeto di cache intelligenti e predittori di salto. Qui la filosofia è radicale: non c&#8217;è cache, non c&#8217;è scheduling nascosto. Ogni singolo spostamento di dati dalla DRAM ai registri è un&#8217;istruzione esplicita. Se un kernel è lento, non puoi dare la colpa a un &#8216;algoritmo di gestione della memoria&#8217; che ha deciso di fare i capricci; sai esattamente quale istruzione sta mangiando i tuoi cicli di clock.</p>
<p>Il cuore del progetto è una combinazione geniale tra Python e SystemVerilog. Hai un linguaggio ad alto livello che sembra quasi uno script di PyTorch, ma che viene compilato in un set di istruzioni (ISA) ultra-semplice, composto da 8 parole a 32 bit. La cosa incredibile è che il simulatore e l&#8217;hardware reale (basato su una FPGA Kintex-7) sono speculari. Questo significa che quello che vedi girare sul tuo laptop è esattamente ciò che accade sulla scheda fisica.</p>
<p>E poi c&#8217;è &#8216;Lens&#8217;, il profiler. Invece di darti grafici astratti e poco chiari, Lens ti permette di riavvolgere il tempo e vedere esattamente cosa sta facendo ogni singola unità (la matrice, il vettore, il quantizzatore) in ogni singolo ciclo. È come avere una telecamera a rallentatore dentro i transistor.</p>
<p>Certo, non è una soluzione magica per far girare i modelli da mille miliardi di parametri sul vostro smartphone. È un progetto di nicchia, estremamente tecnico, che punta tutto sull&#8217;efficienza del calcolo &#8216;decoder-bound&#8217; e sulla visibilità totale. Ma per chi si occupa di design hardware o di ottimizzazione estrema dei kernel, è una boccata d&#8217;ossigeno. In un panorama dove spesso siamo costretti ad accettare le decisioni dei grandi vendor senza poter mettere piede sotto il cofano, vedere un&#8217;architettura così nuda e cruda è un promemoria di quanto sia bello quando si può ancora controllare ogni singolo bit.</p>
<p>In breve: OpenTPU non cerca di superare Nvidia in forza bruta, ma cerca di superare la confusione moderna con la precisione chirurgica.</p>
<p class="aing-source"><em>Source: <a href="https://github.com/FeSens/openTPU" target="_blank" rel="noopener noreferrer">OpenTPU – An open-source AI accelerator, developed by AI</a></em></p>
<p><!-- AI News Generator | Content: RSS Feed | Feed: 11470 chars | Final: 11470 chars --></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.rootclub.it/addio-astrazioni-quando-lhardware-si-spoglia-di-tutto-e-noi-ne-siamo-entusiasti/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">14626</post-id>	</item>
		<item>
		<title>JPEG: l&#8217;arte di nascondere un film dentro una foto (e perché i browser ci odiano)</title>
		<link>https://www.rootclub.it/jpeg-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano/</link>
					<comments>https://www.rootclub.it/jpeg-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano/#respond</comments>
		
		<dc:creator><![CDATA[Lamberto Tedaldi]]></dc:creator>
		<pubDate>Sat, 18 Jul 2026 10:44:25 +0000</pubDate>
				<category><![CDATA[webnews]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[JPEG]]></category>
		<category><![CDATA[low-level]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[web development]]></category>
		<guid isPermaLink="false">https://www.rootclub.it/jpeg-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano/</guid>

					<description><![CDATA[Un nuovo esperimento tecnico dimostra come manipolare i metadati dei file JPEG per creare delle vere e proprie animazioni. Un trip tecnico tra scansioni progressive e manipolazione dei bit.]]></description>
										<content:encoded><![CDATA[<figure class="aing-post-image wp-block-image size-full alignwide" style="margin-bottom: 1.5em;width: 100%"><a href="https://www.rootclub.it/wp-content/uploads/2026/07/JPEG-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano-1784371459.png"><img decoding="async" src="https://www.rootclub.it/wp-content/uploads/2026/07/JPEG-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano-1784371459.png" alt="JPEG: l&#039;arte di nascondere un film dentro una foto (e perché i browser ci odiano)" style="width: 100% !important;max-width: 100% !important;height: auto !important" /></a></figure>
<p></p>
<p>Immaginate di aprire un&#8217;immagine su una connessione lenta e, invece di vedere un quadratone sgranato che gradualmente prende forma, di trovarvi davanti un intero video che scorre fluido, come se fosse un GIF, ma tutto dentro un singolo file .jpg. No, non è un glitch della Matrix e non avete esagerato con il caffè.</p>
<p>Recentemente è emersa una chicca tecnica che sta facendo impazzire i veri amanti del bit-manipulation. Il concetto alla base è sfruttare una caratteristica (spesso ignorata) dei JPEG progressivi. Normalmente, quando scaricate un JPEG progressivo, il browser vi mostra prima le componenti a bassa frequenza (quelle che danno l&#8217;idea generale) per poi aggiungere dettagli man mano che arrivano i dati. È un trick geniale per non far sembrare la navigazione un incubazione di un virus degli anni &#8217;90.</p>
<p>L&#8217;idea folle dello sviluppatore è stata quella di usare questa caratteristica per il puro, sano trolling. Invece di usare le scansioni successive per migliorare la qualità della stessa immagine, perché non usarle per sovrascrivere i dati con immagini diverse? In pratica, concatenando più scansioni e manipolando i marker (quei famosi byte che dicono al decoder &#8216;ehi, qui inizia un nuovo pezzo&#8217;), si può creare un file che cambia immagine man mano che viene scaricato.</p>
<p>Il problema? I browser moderni non sono esattamente degli alleati della libertà creativa. Per evitare quello che sembra un attacco &#8216;zip bomb&#8217; (un file che esplode in memoria saturando tutto), i decoder tipo Chrome o Firefox hanno un limite di scansioni che possono gestire prima di dire &#8216;basta, mi sono stancato&#8217;. Se superi una certa soglia, il rendering si interrompe. Per aggirare questo limite, l&#8217;autore ha dovuto fare un lavoro di precisione chirurgica, creando scansioni &#8216;DC-only&#8217; che sono tecnicamente conformi allo standard ma che servono solo a iniettare nuovi frame senza creare artefatti fastidiosi.</p>
<p>Il risultato è una sorta di video &#8216;low-fi&#8217; che dipende interamente dalla velocità della rete. Se la rete è lenta, il video va a scatti; se è veloce, è più fluido. Non ha alcuna utilità pratica (a parte far svoltare una serata tra amici nerd), ma è un promemoria magnifico di come, finché abbiamo accesso ai bit e ai byte, possiamo ancora trovare modi per scardinare le regole di un formato che pensavamo fosse ormai sepolto sotto strati di WebP e AVIF.</p>
<p>È pura ingegneria del caos. Ed è esattamente il tipo di follia che rende la tecnologia interessante, lontano dagli aggiornamenti noiosi e preconfezionati che ci vengono sbattuti in faccia ogni giorno dalle Big Tech.</p>
<p class="aing-source"><em>Source: <a href="https://maurycyz.com/projects/bad_jpeg/" target="_blank" rel="noopener noreferrer">Regressive JPEGs</a></em></p>
<p><!-- AI News Generator | Content: RSS Feed | Feed: 5144 chars | Final: 5144 chars --></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.rootclub.it/jpeg-larte-di-nascondere-un-film-dentro-una-foto-e-perche-i-browser-ci-odiano/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">13054</post-id>	</item>
		<item>
		<title>Valhalla è arrivato: preparate i microchip (o le asce) per il JDK 28</title>
		<link>https://www.rootclub.it/valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-jdk-28/</link>
					<comments>https://www.rootclub.it/valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-jdk-28/#respond</comments>
		
		<dc:creator><![CDATA[Lamberto Tedaldi]]></dc:creator>
		<pubDate>Fri, 19 Jun 2026 16:44:06 +0000</pubDate>
				<category><![CDATA[webnews]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[low-level]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">https://www.rootclub.it/valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-jdk-28/</guid>

					<description><![CDATA[Dopo un decennio di attesa, Project Valhalla finalmente sbarca nel JDK 28. È l'aggiornamento che cambierà il modo in cui gestiamo la memoria, ma non aspettatevi un miracolo senza compromessi.]]></description>
										<content:encoded><![CDATA[<figure class="aing-post-image wp-block-image size-full alignwide" style="margin-bottom: 1.5em;width: 100%"><a href="https://www.rootclub.it/wp-content/uploads/2026/06/Valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-JDK-28-1781887442.png"><img decoding="async" src="https://www.rootclub.it/wp-content/uploads/2026/06/Valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-JDK-28-1781887442.png" alt="Valhalla è arrivato: preparate i microchip (o le asce) per il JDK 28" style="width: 100% !important;max-width: 100% !important;height: auto !important" /></a></figure>
<p></p>
<p>Quanto può durare un progetto software prima di diventare una leggenda metropolitana o un reperto archeologico? Se segui lo sviluppo della JVM, sai che Project Valhalla è stato per anni quel vago ricordo di qualcosa che &#8216;si diceva che sarebbe arrivato&#8217;. Beh, finalmente il Ragnarok è arrivato, ma non in modo apocalittato come sperato: Valhalla è ufficialmente parte del JDK 28.</p>
<p>Per chi non mastica bytecode a colazione, non lasciatevi spaventare dal nome norreno. In soldoni, Valhalla è l&#8217;operazione chirurgica per risolvere uno dei problemi storici della Java Virtual Machine: l&#8217;inefficienza della gestione degli oggetti. Fino ad oggi, la gestione della memoria in Java è stata un po&#8217; come cercare di organizzare una libreria in un ufficio dove ogni libro è avvolto in una bolla di plastica gigante. Ogni oggetto è un&#8217;entità separata, con il suo overhead, sparpagliata nella heap, che costringe la CPU a fare jogging tra un indirizzo e l&#8217;altro. Un incubo per la cache L1 e L2 che farebbe piangere anche il più esperto degli ingegneri hardware.</p>
<p>Con l&#8217;arrivo di Valhalla, introduciamo i &#8216;value objects&#8217;. L&#8217;idea è quella di poter trattare i dati come semplici valori (tipo un int o un float), eliminando l&#8217;indirezione inutile e permettendo alla JVM di impacchettare le informazioni in modo contiguo nella memoria. È una manovra che trasforma il codice da un labirinto di puntatori a una struttura lineare, efficiente, che la CPU può leggere a velocità folle. In pratica, stiamo dando alla JVM le capacità di gestione della memoria che abbiamo sempre invidiato ai linguaggi più &#8216;low-level&#8217;.</p>
<p>Però, restiamo con i piedi per terra. Non è che domani mattina tutto il vostro legacy code andrà a mille all&#8217;ora come se aveste installato un modulo turbo. La notizia è &#8216;nuanced&#8217;, come dicono quelli che vogliono evitare di esporsi troppo. Il cambiamento è profondo e, come ogni grande riforma strutturale, porta con sé dei compromessi. Non è una bacchetta magica che risolve i bug di architettura, è uno strumento nuovo che richiede un nuovo modo di pensare alla modellazione dei dati.</p>
<p>Non è esattamente una notizia che cambierà la vita di chi sviluppa app web per il mercato locale o gestisce piccoli server in un garage in periferia, ma per chi scrive infrastrutture critiche, sistemi ad alta performance o motori di calcolo, questo è il momento di rimettersi al lavoro. La sfida non è più solo &#8216;far girare il codice&#8217;, ma farlo girare con la precisione di un orologio svizzero, senza sprecare ogni singolo ciclo di clock in indirection inutili.</p>
<p>Quindi, preparate i debugger e tenete pronti i test di benchmark. Il decennio di attesa è finito, e ora inizia il divertimento vero: capire se riusciremo a sfruttare questo nuovo potere senza mandare in crash l&#8217;intero ecosistema.</p>
<p class="aing-source"><em>Source: <a href="https://www.jvm-weekly.com/p/project-valhalla-explained-how-a" target="_blank" rel="noopener noreferrer">Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28</a></em></p>
<p><!-- AI News Generator | Content: RSS Feed | Feed: 137 chars | Final: 137 chars --></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.rootclub.it/valhalla-e-arrivato-preparate-i-microchip-o-le-asce-per-il-jdk-28/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">12387</post-id>	</item>
		<item>
		<title>SectorC: Un Compilatore C che Strizza il Cervello (e il Codice)</title>
		<link>https://www.rootclub.it/sectorc-un-compilatore-c-che-strizza-il-cervello-e-il-codice/</link>
					<comments>https://www.rootclub.it/sectorc-un-compilatore-c-che-strizza-il-cervello-e-il-codice/#respond</comments>
		
		<dc:creator><![CDATA[Lamberto Tedaldi]]></dc:creator>
		<pubDate>Sun, 08 Feb 2026 08:57:59 +0000</pubDate>
				<category><![CDATA[webnews]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[compilatori]]></category>
		<category><![CDATA[low-level]]></category>
		<category><![CDATA[retrocomputing]]></category>
		<category><![CDATA[smanettamento]]></category>
		<guid isPermaLink="false">https://www.rootclub.it/sectorc-un-compilatore-c-che-strizza-il-cervello-e-il-codice/</guid>

					<description><![CDATA[Hai mai pensato che un compilatore C potesse stare in meno di 1KB? Ecco SectorC, il progetto folle che dimostra che le limitazioni sono solo nella testa.]]></description>
										<content:encoded><![CDATA[<figure class="aing-post-image wp-block-image size-full alignwide" style="margin-bottom: 1.5em;width: 100%"><a href="https://www.rootclub.it/wp-content/uploads/2026/02/SectorC-Un-Compilatore-C-che-Strizza-il-Cervello-e-il-Codice-1770541074.png"><img decoding="async" src="https://www.rootclub.it/wp-content/uploads/2026/02/SectorC-Un-Compilatore-C-che-Strizza-il-Cervello-e-il-Codice-1770541074.png" alt="SectorC: Un Compilatore C che Strizza il Cervello (e il Codice)" style="width: 100% !important;max-width: 100% !important;height: auto !important" /></a></figure>
<p></p>
<p>Immagina di poter scrivere codice C su un computer degli anni &#8217;80 senza nemmeno un byte di spazio extra. Pazzesco? Eppure, è esattamente ciò che ha realizzato SectorC, un compilatore C che entra in un singolo settore di disco (512 byte) e funziona su un IBM PC originale.</p>
<p>La storia di SectorC è un inno alla semplicità estrema. Creata da xorvoid, questa piccola meraviglia dimostra che, con un po&#8217; di creatività, si possono ottenere risultati straordinari con risorse minimali. Ma come funziona? E soprattutto, perché qualcuno dovrebbe volerlo fare?</p>
<p>SectorC non è solo un esperimento tecnico: è una dichiarazione di principio. In un&#8217;epoca in cui i compilatori pesano gigabyte e richiedono interi server per funzionare, questo progetto ci ricorda che il vero potere del software sta nella sua capacità di fare molto con poco. E per noi smanettoni, è un invito a sperimentare, a rompere gli schemi e a trovare soluzioni creative anche nelle situazioni più impossibili.</p>
<p>Ma attenzione: non è tutto rose e fiori. SectorC è un progetto ad alto rischio di frustrazione. Senza error handling degno di questo nome, la compilazione è un viaggio nel caos in cui ogni bug è una sorpresa. Eppure, proprio questa mancanza di protezioni lo rende affascinante: è come guidare una macchina senza airbag, dove ogni errore è una lezione imparata a caro prezzo.</p>
<p>Per chi ama mettersi alla prova, SectorC offre un&#8217;opportunità unica: scrivere codice C che funziona su hardware vintage, esplorare le potenzialità dell&#8217;assembler inline e persino creare animazioni VGA o suonerie con il PC Speaker. Insomma, è un gioco per puristi, ma un gioco che insegna più di molti tutorial moderni.</p>
<p>In conclusione, SectorC è un progetto che sfida le convenzioni e ci ricorda che, a volte, il meglio si ottiene con il meno. Se sei uno smanettone, buttati: prova a compilare un programma con SectorC e scopri quanto puoi spingerti oltre.</p>
<p class="aing-source"><em>Source: <a href="https://xorvoid.com/sectorc.html" target="_blank" rel="noopener noreferrer">SectorC: A C Compiler in 512 bytes (2023)</a></em></p>
<p><!-- AI News Generator | Content: RSS Feed | Feed: 13111 chars | Final: 13111 chars --></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.rootclub.it/sectorc-un-compilatore-c-che-strizza-il-cervello-e-il-codice/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10319</post-id>	</item>
	</channel>
</rss>
