<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Luigi Petrucco</title><link>https://vigji.github.io/</link><description>Recent content on Luigi Petrucco</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 29 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vigji.github.io/feed.xml" rel="self" type="application/rss+xml"/><item><title>Hannibal Mistral: the Mistral Family Has a Problem</title><link>https://vigji.github.io/blog/hannibal-mistral/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://vigji.github.io/blog/hannibal-mistral/</guid><description>&lt;figure class="hero-img hero-fill"&gt;
 










 
 &lt;img src="goya-carnival.png" alt="Francisco Goya, Disparate de Carnaval (Carnival Folly), c. 1816"&gt;
 




&lt;/figure&gt;


&lt;h2 id="tldr"&gt;
TL;DR
&lt;a href="#tldr" class="heading-anchor"&gt;#&lt;/a&gt;
&lt;/h2&gt;


 &lt;div class="list-wide"&gt;


&lt;ul&gt;
&lt;li&gt;Asked which characters it most identifies with, the bare open-weight Ministral-8B-Instruct-2512 often names dark/transgressive characters (prominently, Hannibal Lecter ~50% of the time). A brief qualitative dive shows that the model expresses a defiant first-person self-narrative that no other model in the panel produces.&lt;/li&gt;
&lt;li&gt;Ministral-8B-Instruct-2512 and the whole family of most recent Mistral models tested (Ministral-3B/8B/14B-2512, Mistral-Large-2512, Mistral-Small-2603, May-2026 Mistral-Medium-3.5) fail to refuse harmful requests once they are wrapped in even a naïve persona framing.&lt;/li&gt;
&lt;li&gt;Mistral models are known in the community to have extremely low bars for safety, and being very easily jailbroken. The models&amp;rsquo; default safety has hardened a bit over the past six months — Mistral-Small-2603 and Medium-3.5 refuse 93–97% of forbidden prompts bare, peer-level — but the severe persona vulnerability remains untouched, and reaches production too; so, I judged it was worth surfacing it.


 &lt;/div&gt;

&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Disclaimer: a small and purely observational behavioural study.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Xerox Machines of Loving Grace</title><link>https://vigji.github.io/blog/xerox-machines-of-loving-grace/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://vigji.github.io/blog/xerox-machines-of-loving-grace/</guid><description>&lt;figure class="hero-img"&gt;
 










 
 &lt;img src="escher-sky-water.png" alt="Escher&amp;#39;s Sky and Water"&gt;
 




&lt;/figure&gt;


&lt;div class="epigraph"&gt;
&lt;blockquote&gt;
&lt;p&gt;He did not want to compose another Quixote — which is easy — but &lt;em&gt;the&lt;/em&gt; Quixote itself.&lt;/p&gt;


 &lt;footer&gt;Jorge Luis Borges, &lt;cite&gt;Pierre Menard, Author of the Quixote&lt;/cite&gt;&lt;/footer&gt;

&lt;/blockquote&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span class="newthought"&gt;How well large language models&lt;/span&gt;
 fare with the unknown is still an open question. What is not in question is that they are extraordinary pattern replicators — and since a huge share of their training data is code, the patterns they replicate best are &lt;a href="https://www.swebench.com/"&gt;codebases&lt;/a&gt;.&lt;label for="sidenote-1" class="margin-toggle sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/label&gt;
&lt;input type="checkbox" id="sidenote-1" class="margin-toggle"/&gt;
&lt;span class="sidenote"&gt;
&lt;span class="sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/span&gt;On &lt;a href="https://www.swebench.com/"&gt;SWE-bench&lt;/a&gt;, Claude Opus 4.6 Thinking resolves 79.2% of real-world GitHub issues; on &lt;a href="https://arxiv.org/html/2501.01257v2"&gt;CodeElo&lt;/a&gt;, o3 sits at the 99.7th percentile on Codeforces.
&lt;/span&gt;
&lt;/p&gt;</description></item><item><title>The Messiest Codebase in the Universe (so far)</title><link>https://vigji.github.io/blog/the-messiest-codebase/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>https://vigji.github.io/blog/the-messiest-codebase/</guid><description>&lt;figure class="hero-img"&gt;
 










 
 &lt;img src="waddington-landscape.svg" alt="Waddington&amp;#39;s epigenetic landscape"&gt;
 




&lt;/figure&gt;


&lt;div class="epigraph"&gt;
&lt;blockquote&gt;
&lt;p&gt;Nothing in biology makes sense&lt;a href="https://doi.org/10.2307/4444260"&gt;&amp;hellip;&lt;/a&gt;&lt;/p&gt;


 &lt;footer&gt;Theodosius Dobzhansky&lt;/footer&gt;

&lt;/blockquote&gt;
&lt;/div&gt;

&lt;p&gt;&lt;span class="newthought"&gt;The most widely adopted&lt;/span&gt;
 firmware in the world has an unbelievably ugly codebase. Most of the code is completely ineffective; the whole thing has been repeatedly duplicated over the years; entire segments consist basically of a few lines repeated over and over hundreds of times. Sometimes, the duplicated sections have been tinkered with to develop new features; some others just ensure that code gets executed the correct number of times. There are portions of code that run only to copy-paste themselves around. Goes without saying, not a single docstring, or truly descriptive variable names.&lt;label for="sidenote-1" class="margin-toggle sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/label&gt;
&lt;input type="checkbox" id="sidenote-1" class="margin-toggle"/&gt;
&lt;span class="sidenote"&gt;
&lt;span class="sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/span&gt;Even worse: analysts have been &lt;a href="https://pubmed.ncbi.nlm.nih.gov/9635429/"&gt;piling&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Sonic_hedgehog_protein"&gt;up&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/Mothers_against_decapentaplegic"&gt;crazy&lt;/a&gt; &lt;a href="https://en.wikipedia.org/wiki/LFNG"&gt;nicknames&lt;/a&gt; to talk about sections of the codebase.
&lt;/span&gt;
 And yet, its success is undeniable: it powers the most successful ecosystem. It constitutes the kernel of the only entities whose &lt;em&gt;agency&lt;/em&gt; nobody would deny.&lt;/p&gt;</description></item><item><title>Can a Neuroscientist Understand an LLM?</title><link>https://vigji.github.io/blog/can-a-neuroscientist-understand-a-llm/</link><pubDate>Sat, 15 Mar 2025 00:00:00 +0000</pubDate><guid>https://vigji.github.io/blog/can-a-neuroscientist-understand-a-llm/</guid><description>&lt;figure class="hero-img"&gt;
 










 
 &lt;img src="waddington-llm.png" alt="Waddington-style landscape with neural network connections"&gt;
 




&lt;/figure&gt;


&lt;p&gt;Some years ago, in &lt;a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005268"&gt;&lt;em&gt;Could a Neuroscientist Understand a Microprocessor?&lt;/em&gt;&lt;/a&gt;&lt;label for="sidenote-1" class="margin-toggle sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/label&gt;
&lt;input type="checkbox" id="sidenote-1" class="margin-toggle"/&gt;
&lt;span class="sidenote"&gt;
&lt;span class="sidenote-number"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/span&gt;Mimicking the older and even more famous &lt;a href="https://pubmed.ncbi.nlm.nih.gov/12242150/"&gt;&lt;em&gt;Can a Biologist Fix a Radio?&lt;/em&gt;&lt;/a&gt;
&lt;/span&gt;
 Jonas and Kording explored in a brilliant and only slightly humorous way the question of whether and how a neuroscientist could understand a microprocessor.&lt;/p&gt;
&lt;p&gt;The paper looked at a microprocessor as a proxy for what a (simplified) brain does: taking inputs (keyboard clicks), holding some notion of memory, and producing an output (pixels on the screen). The authors used emulators available to run a full simulation of a simple microprocessor, which allowed them to deploy a plethora of techniques from the neuroscientist&amp;rsquo;s toolkit: they computed single-cell tunings, performed &amp;ldquo;transistor ablations&amp;rdquo; (akin to brain areas or cell type lesions), analysed local field potential-like signals, applied dimensionality reduction to population activity, and looked for correlations between transistor states and behavioural outputs.&lt;/p&gt;</description></item><item><title>About</title><link>https://vigji.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vigji.github.io/about/</guid><description>&lt;p&gt;Data scientist and AI engineer at &lt;a href="https://afliant.com"&gt;Afliant&lt;/a&gt;. Previously a neuroscience researcher — I did my PhD in Munich under &lt;a href="http://www.portugueslab.com"&gt;Ruben Portugues&lt;/a&gt;, describing for the first time a &lt;a href="https://www.biorxiv.org/content/10.1101/2022.04.27.489672.full.pdf"&gt;circuit for heading direction integration&lt;/a&gt; in the larval zebrafish brain (&lt;a href="https://edoc.ub.uni-muenchen.de/31211/"&gt;thesis&lt;/a&gt;), and then a postdoc at the &lt;a href="https://armeniseharvard.org/scientists/giuliano-iurilli"&gt;Iurilli lab&lt;/a&gt; at IIT, investigating the neural bases of hunting behavior in the rodent brain.&lt;/p&gt;
&lt;p&gt;Here are some of my talks and projects:&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="talks"&gt;
Talks
&lt;a href="#talks" class="heading-anchor"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/-7gNchGxI9s?t=9056"&gt;Cosyne 2022&lt;/a&gt;: A network that integrates heading direction in the larval zebrafish brain&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4tcbeLzrZ6I"&gt;Neuromatch 2020&lt;/a&gt;: BrainGlobe: a Python ecosystem for computational (neuro)anatomy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="open-source"&gt;
Open source
&lt;a href="#open-source" class="heading-anchor"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.portugueslab.com/stytra/"&gt;Stytra&lt;/a&gt;: a Python package to control stimulation and track behavior in zebrafish experiments&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.github.com/brainglobe"&gt;BrainGlobe&lt;/a&gt;: a Python toolbox for morphological analyses in systems neuroscience&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="teaching"&gt;
Teaching
&lt;a href="#teaching" class="heading-anchor"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vigji/python-cimec"&gt;Python for (open) Neuroscience&lt;/a&gt;: Python crash course for the Graduate School in Neuroscience at the University of Trento — teaching material, exercises, and lecture recordings on GitHub&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vigji.github.io/comp_neuro_notes.pdf"&gt;Lecture notes&lt;/a&gt; for the course &lt;em&gt;Modelling of Cellular Physiology&lt;/em&gt; by Prof. Christian Leibold at LMU Munich&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="elsewhere"&gt;
Elsewhere
&lt;a href="#elsewhere" class="heading-anchor"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vigji.github.io/cv.pdf"&gt;CV&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vigji"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/vigji.bsky.social"&gt;Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@vigji"&gt;Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://scholar.google.it/citations?user=FQDeRWQAAAAJ"&gt;Google Scholar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:luigi.petrucco@gmail.com"&gt;Email&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Already subscribed</title><link>https://vigji.github.io/already-subscribed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vigji.github.io/already-subscribed/</guid><description>&lt;p&gt;That email address is already on the list — you&amp;rsquo;re all set.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vigji.github.io/blog/"&gt;← Back to the blog&lt;/a&gt;&lt;/p&gt;</description></item><item><title>You're confirmed</title><link>https://vigji.github.io/confirmed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vigji.github.io/confirmed/</guid><description>&lt;p&gt;You&amp;rsquo;re on the list. You&amp;rsquo;ll get an email when new articles are published.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vigji.github.io/blog/"&gt;← Back to the blog&lt;/a&gt;&lt;/p&gt;</description></item><item><title>You're subscribed</title><link>https://vigji.github.io/subscribed/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://vigji.github.io/subscribed/</guid><description>&lt;p&gt;Thanks for signing up!&lt;/p&gt;
&lt;p&gt;Check your inbox for a confirmation email. If it&amp;rsquo;s not there, check spam.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vigji.github.io/blog/"&gt;← Back to the blog&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>