
Antonino Elia Mandri
4.2K posts

Antonino Elia Mandri
@EliaMandri
Studente di Computer Science and Engineering (perché ingegneria informatica pareva brutta).
vigevano Katılım Aralık 2012
790 Takip Edilen252 Takipçiler
Antonino Elia Mandri retweetledi

Coding agents are accelerating different types of software work to different degrees. When we architect teams, understanding these distinctions helps us to have realistic expectations. Listing functions from most accelerated to least, my order is: frontend development, backend, infrastructure, and research.
Frontend development — say, building a web page to serve descriptions of products for an ecommerce site — is dramatically sped up because coding agents are fluent in popular frontend languages like TypeScript and JavaScript and frameworks like React and Angular. Additionally, by examining what they have built by operating a web browser, coding agents are now very good at closing the loop and iterating on their own implementations. Granted, LLMs today are still weak at visual design, but given a design (or if a polished design isn’t important), the implementation is fast!
Backend development — say, building APIs to respond to queries requesting product data — is harder. It takes more work by human developers to steer modern models to think through corner cases that might lead to subtle bugs or security flaws. Further, a backend bug can lead to non-intuitive downstream effects like a corrupted database that occasionally returns incorrect results, which can be harder to debug than a typical frontend bug. Finally, although database migrations can be easier with coding agents, they’re still hard and need to be handled carefully to prevent data loss. While backend development is much faster with coding agents, they accelerate it less, and skilled developers still design and implement far better backends than inexperienced ones who use coding agents.
Infrastructure. Agents are even less effective in tasks like scaling an ecommerce site to 10K active uses while maintaining 99.99% reliability. LLMs' knowledge is still relatively limited with respect to infrastructure and the complex tradeoffs good engineers must make, so I rarely trust them for critical infra decisions. Building good infrastructure often requires a period of testing and experimentation, and coding agents can help with that, but ultimately that’s a significant bottleneck where fast AI coding does not help much. Lastly, finding infrastructure bugs — say, a subtle network misconfiguration — can be incredibly difficult and requires deep engineering expertise. Thus, I’ve found that coding agents accelerate critical infrastructure even less than backend development.
Research. Coding agents accelerate research work even less. Research involves thinking through new ideas, formulating hypotheses, running experiments, interpreting them to potentially modify the hypotheses, and iterating until we reach conclusions. Coding agents can speed up the pace at which we can write research code. (I also use coding agents to help me orchestrate and keep track of experiments, which makes it easier for a single researcher to manage more experiments.) But there is a lot of work in research other than coding, and today’s agents help with research only marginally.
Categorizing software work into frontend, backend, infra, and research is an extreme simplification, but having a simple mental model for how much different tasks have sped up has been useful for how I organize software teams. For example, I now ask front-end teams to implement products dramatically faster than a year ago, but my expectations for research teams have not shifted nearly as much.
I am fascinated by how to organize software teams to use coding agents to achieve speed, and will keep sharing my findings in future posts.
[Original text: deeplearning.ai/the-batch/issu… ]
English
Antonino Elia Mandri retweetledi

I wrote Deep Learning with Python to be the definitive guide to how deep learning works and how to best make use of it. Tens of thousands of people got their career start via this book. 120,000 copies sold, and downloaded by millions more.
And now it's free to read online: deeplearningwithpython.io
English
Antonino Elia Mandri retweetledi
Antonino Elia Mandri retweetledi

La disuguaglianza economica ci rende davvero infelici? I dati supportano il classico “nì”, perché la realtà, come sempre, non segue gli slogan.
È una delle narrazioni più consolidate degli ultimi lustri, sui media e anche tra molti scienziati sociali: vivere in una società diseguale erode il benessere psicologico di tutti, creando ansia da status e competizione tossica. Eppure un nuovo, imponente meta-studio appena pubblicato su Nature (link in fondo) mette seriamente in crisi l’idea di un effetto medio negativo generalizzato.
Il paper è una meta-analisi enorme (168 studi che utilizzano dati multilivello: 11'389'871 partecipanti provenienti da 38'335 unità geografiche): in media, l’associazione tra disuguaglianza e benessere soggettivo è sostanzialmente nulla; e per la salute mentale, l’effetto “negativo” che si vede in alcuni lavori si ridimensiona drasticamente quando si tiene conto del bias di pubblicazione (cioè della tendenza a far emergere più facilmente studi “conclusivi” e in linea con l’ipotesi negativa; una delle iatture dell'accademia, ma le cose stanno cambiando).
La parte davvero interessante, però, è un’altra: il contesto cambia tutto. L’effetto non è “sempre uguale”, e in alcuni casi può perfino cambiare segno. In particolare, la disuguaglianza risulta associata a maggior malessere in contesti di alta inflazione, mentre in contesti di bassa inflazione l’associazione può diventare addirittura positiva (uno sprone).
Attenzione: questi risultati sono promettenti, ma sono anche la parte più fragile dell’evidenza, e infatti vanno trattati con cautela, anche se lo studio li replica su dati diversi.
Tutto risolto quindi? Non proprio (è il bello delle scienze sociali!). Anzi: lo studio è metodologicamente molto solido nel lavorare sui (meta)dati esistenti, ma mette a nudo un problema strutturale enorme: la nostra difficoltà a misurare davvero la disuguaglianza e di collegarla alla vita vissuta.
A mio avviso, esistono almeno 4 ostacoli metodologici che spesso ignoriamo e che rischiano di rendere queste analisi, per quanto sofisticate, parziali:
1) L’illusione dell’unidimensionalità. Ci limitiamo quasi sempre a un singolo indice, come quello di Gini. Ma un numero non può catturare la complessità sociale. Dire “Gini = 0.35” non ci dice se la disuguaglianza deriva da un ceto medio che scivola verso il basso o da un 1% che si arricchisce molto in una società di benestanti. Le ricadute psicologiche di questi scenari sono diverse, ma l’indice le appiattisce. Qui, come sempre, vi rimando a un mio vecchio video su YouTube: youtu.be/JbDBDzbGwUE?si…
Nota per i puntigliosi: lo studio rifà anche analisi con indicatori alternativi e i risultati principali reggono; il punto è che anche quando reggono, un singolo numero resta una compressione brutale della realtà, e purtroppo è la norma.
2) L’autopercezione. Moltissimi studi si basano su survey in cui i partecipanti dichiarano il proprio reddito. Sappiamo bene che questi dati sono spesso distorti: i super-ricchi non rispondono ai sondaggi, le vere fasce marginali sono irraggiungibili, molti mentono, e tutti tendiamo a collocarci “un po’ più in basso” di dove siamo realmente (perché la povertà è anche relativa, e talvolta soggettiva*). Fondare le analisi sul dichiarato è un problema non secondario.
3) Il buco nero dei dati. In Paesi come l’Italia questo limite è critico: manca un database centralizzato e integrato dell’assistenza. Non abbiamo un’anagrafe che incroci perfettamente redditi, patrimoni e tutto il welfare erogato (sussidi locali, bonus, assistenza in natura, sanità). Senza sapere qual è il vero “reddito disponibile” e il pacchetto di servizi reale a cui il cittadino accede, stiamo calcolando la disuguaglianza su una mappa bucata. Misuriamo la disuguaglianza “fiscale”, che è ben diversa dalla realtà vissuta dalle famiglie. E il numero di famiglie che usufruiscono di prestazioni ISEE è lì a ricordarcelo. O crediamo che tutti quelli che non pagano le tasse universitarie vengano da famiglie che non mangiano, giusto per fare un esempio?
4) La disuguaglianza è un film, non una foto. Se l’inflazione cambia l’effetto sul benessere, è perché la disuguaglianza è un concetto dinamico: è più tollerabile se percepisco mobilità sociale (“posso farcela anch’io”, il cosiddetto tunnel effect), diventa tossica se l’ascensore sociale è rotto (come nello Stivale). Le analisi statiche faticano a cogliere questa sfumatura decisiva: non conta solo “quanto” è diseguale una società oggi, ma come ci si arriva e che prospettive apre o chiude. Senza contare che per vedere movimenti significativi di un indice come il Gini servono politiche forti e anni, se non lustri, e non tre trimestri messi in croce (frecciatina per quelli che misurano la disuguaglianza in paesi come l'Argentina su dati trimestrali).
In sintesi: questo studio è un bagno di realtà utile perché smonta certi automatismi. Non è detto che sia la disuguaglianza “in astratto” a deprimerci sempre e comunque; spesso contano di più vulnerabilità economica assoluta, aspettative e condizioni degradate (inflazione, instabilità politica). Ma finché non avremo dati più granulari (amministrativi e non solo survey) e sistemi integrati per leggere reddito disponibile e ricchezza reale, assieme ad altre dimensioni del vivere sociale, rischiamo di non vedere le sfumature che fanno la differenza nella vita delle persone. Con grave detrimento per i poveri. Quelli veri.
* Un po' come il mio vicino, che ha una villa sul lago in Svizzera, due auto di pregio, uno chalet a Gstaad, altre amenità, e pensa di stare nel "lower 99%" contro "il top 1%", mentre io lo ascolto e scuoto la testa.
nature.com/articles/s4158…

YouTube
Italiano

Antonino Elia Mandri retweetledi

#Mercosur?
Ma a voi piace la bresaola della valtellina?
Perchè se la risposta è si, vorrei ricordarvi che la carne è importata in maggior parte dal Brasile.
Se credete che il 2% dell'economia europea (agricoltura) può fermare un accordo che porta benefici per centinaia di milioni di europei, fate pure.
Ps: Non lamentatevi dei dazi degli USA
Italiano
Antonino Elia Mandri retweetledi
Antonino Elia Mandri retweetledi

In UNIX/Linux userspace processes, there's a crucial layer: libc (the C standard library).
It sits between your code and the kernel, doing a lot of work before syscalls ever happen.
Many functions you may think are "system calls" are actually wrapper functions in userspace.
The exec family is a perfect example: there's only ONE real syscall on Linux (execve()), but libc provides execl(), execlp(), execv(), execvp(), execle(), etc.
They all call execve() under the hood. When you call execl("/bin/ls", "ls", NULL), libc grabs the global environ variable and passes it to execve() for you. The "automatic inheritance" happens in userspace, not in the kernel (to address some comments on my recent posts), though kernel sets up the process stack automatically for this.
printf() is another great example with userspace buffering. Try this:
printf("Hello");
printf(" World");
Stdout can go to libc buffers, in a 4KB buffer in userspace. Only when the buffer fills, the program exits, or you call fflush() does it actually call the write() syscall:
strace shows:
write(1, "Hello World", 11Hello World) = 11
Two printf() calls -> ONE write() syscall. The buffering happened entirely in userspace.
Stdout may be line-buffered (flushes on \n), so you'd see separate syscalls per line. But the principle is the same: libc is doing work in userspace before hitting the kernel.
Similarly, sleep(1) and sleep(3) are just a wrappers that builds a timespec struct and calls sleeping system calls. You can verify with strace that both turn into the same syscall.
The architecture: Your code calls convenient functions -> libc does preprocessing/buffering/conversions in userspace -> kernel handles the actual privileged operations via syscalls.
Why this design? Performance (buffering reduces syscall overhead), convenience (simple APIs), and portability (same API across kernels).
Key takeaway: Not everything that looks like a syscall is one. Understanding the userspace/kernel boundary is fundamental to systems programming.
Explore this yourself: strace shows syscalls, ltrace shows libc calls, man 2 documents syscalls, man 3 documents library functions.


English
Antonino Elia Mandri retweetledi

Seeing this piece of code right on the front page of Hacker News is a bit strange.
Computer Science@CompSciFact
The C code below compiles and prints "hello, world".
English

@Cr1st14nM3s14n0 Può essere che "smatta" mettendo assieme GPS, accelerometri e radio. Oppure è talmente visionaria l'auto che ti fa percorrere strade ancora da costruire
Italiano

@EliaMandri è una settimana che gmaps usato da Tesla (anche dall'autopilot) sta sbarellando in una maniera drammatica.
Italiano

Oibò!
Mi permetto di fare una critica, e ricevo meno di 29 visite.
Ma l'algorimmo non lo fa apposta, ha stata una coincidenza.
cristian mesiano (Christoph)@Cr1st14nM3s14n0
Ieri sera tornavo da un viaggio di lavoro, svincolo autostradale di Parma, abbiamo mancato per errore l’uscita e il gps per 15 minuti suggeriva uscite random. Fosse stato attivo l’autopilot ci avrebbe fatto ammazzare gettando l’auto da un viadotto. SCIOCCATI. Mai successo prima
Italiano
Antonino Elia Mandri retweetledi

@kirancodes Rust is interesting, could be fun to explore how it handles polymorphism.
In C, OOP is not a paradigm around, which obviously is a greater factor than whatever "brain dead" implies in this case.
And, remember folks, talking about X language doesn't mean hating Y language.
English
Antonino Elia Mandri retweetledi
Antonino Elia Mandri retweetledi

Se scrivessi ciò che ho in testa verrei bannato, quindi voglio solo ricordare le parole di Alessandro Barbero:
“È evidente che anche quando un missile russo colpisce un edificio civile a Kharkov e ammazza dei civili però il loro scopo non è quello”
Evidentissimo. 🤡
Ilario Piagnerelli@ilario82
Distretto di Kupiansk. Due civili in fuga sventolano una bandiera bianca. Il drone russo li uccide. Muore anche il cane. Il tutto filmato a scopo di propaganda dagli stessi russi. Niente di nuovo.
Italiano
Antonino Elia Mandri retweetledi

@stefanoasr Si ed è indecente che io debba leggere 5 cazzate prima di rivedere quella dea
Italiano
Antonino Elia Mandri retweetledi

Prima cosa utile fatta da Musk su twitter
stefano@stefanoasr
Mi confermate che anche a voi ogni 5 tweet appaiono le tette di Sydney Sweeney
Italiano
Antonino Elia Mandri retweetledi
Antonino Elia Mandri retweetledi








