<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: andreabergia</title><link>https://news.ycombinator.com/user?id=andreabergia</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 19:36:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=andreabergia" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by andreabergia in "Show HN: A live Python REPL with an agentic LLM that edits and evaluates code"]]></title><description><![CDATA[
<p>> So you could presumably also set it up to implement its suggestions (i.e. if it "executes" its proposed definition for `succ` that would actually just update it in the global namespace). Fun stuff.<p>Yep, I've had that working in some earlier version of the tooling.<p>> I'd suggest rethinking this; people usually expect the tab key to auto-complete.<p>That's a fair point.<p>> At any rate, thanks for writing the description yourself.<p>I might let an LLM write the code, and even the user's manual, but I write my own blog post and comments. :-)</p>
]]></description><pubDate>Wed, 25 Feb 2026 19:50:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47156867</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=47156867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47156867</guid></item><item><title><![CDATA[Show HN: A live Python REPL with an agentic LLM that edits and evaluates code]]></title><description><![CDATA[
<p>I built PyChat.ai, an open-source Python REPL written in Rust that embeds an LLM agent capable of inspecting and modifying the live Python runtime state.<p>A sample interaction:<p><pre><code>    py> def succ(n):
    py>   n + 1
    py> succ(42)
    None
    ai> why is succ not working?
    
        Thinking...
        -> Listing globals
        <- Found 1 globals
        -> Inspecting: succ
        <- Inspection complete: function
        -> Evaluating: succ(5)
        <- Evaluated: None
        Tokens: 2102 in, 142 out, 2488 total
    
    The function `succ` is not working because it calculates the result (`n + 1`) but does not **return** it.
    
    In its current definition:
    ```python
    def succ(n):
        n + 1
    ```
    The result of the addition is discarded, and the function implicitly returns `None`. To fix it, you should add a
    `return` statement:
    ```python
    def succ(n):
        return n + 1
    ```
</code></pre>
Unlike typical AI coding assistants, the model isn’t just generating text — it can introspect the interpreter state and execute code inside the live session.<p>Everything runs inside a Rust process embedding the Python interpreter, with a terminal UI where you can switch between Python and the agent via <tab>.<p>It’s very much a prototype, and definitely insecure, but I think the interaction model is interesting and potentially generalizable.<p>Source: <a href="https://github.com/andreabergia/pychat.ai" rel="nofollow">https://github.com/andreabergia/pychat.ai</a><p>Blog post: <a href="https://andreabergia.com/blog/2026/02/pychat-ai/" rel="nofollow">https://andreabergia.com/blog/2026/02/pychat-ai/</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47151278">https://news.ycombinator.com/item?id=47151278</a></p>
<p>Points: 4</p>
<p># Comments: 4</p>
]]></description><pubDate>Wed, 25 Feb 2026 13:37:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47151278</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=47151278</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47151278</guid></item><item><title><![CDATA[Untapped Way to Learn a Codebase: Build a Visualizer]]></title><description><![CDATA[
<p>Article URL: <a href="https://jimmyhmiller.com/learn-codebase-visualizer">https://jimmyhmiller.com/learn-codebase-visualizer</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47085425">https://news.ycombinator.com/item?id=47085425</a></p>
<p>Points: 244</p>
<p># Comments: 46</p>
]]></description><pubDate>Fri, 20 Feb 2026 08:52:17 +0000</pubDate><link>https://jimmyhmiller.com/learn-codebase-visualizer</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=47085425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47085425</guid></item><item><title><![CDATA[New comment by andreabergia in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://andreabergia.com/" rel="nofollow">https://andreabergia.com/</a> - my personal website and blog, which I'm currently redesigning!</p>
]]></description><pubDate>Thu, 15 Jan 2026 10:33:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46630646</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=46630646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46630646</guid></item><item><title><![CDATA[A field guide to sandboxes for AI]]></title><description><![CDATA[
<p>Article URL: <a href="https://luiscardoso.dev/blog/sandboxes-for-ai">https://luiscardoso.dev/blog/sandboxes-for-ai</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46565029">https://news.ycombinator.com/item?id=46565029</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 10 Jan 2026 12:05:18 +0000</pubDate><link>https://luiscardoso.dev/blog/sandboxes-for-ai</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=46565029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46565029</guid></item><item><title><![CDATA[New comment by andreabergia in "Turning 40"]]></title><description><![CDATA[
<p>Thanks! That's really reassuring and will definitely help my nights! :-D</p>
]]></description><pubDate>Fri, 05 Dec 2025 19:27:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46166093</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=46166093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46166093</guid></item><item><title><![CDATA[New comment by andreabergia in "The value of hitting the HN front page"]]></title><description><![CDATA[
<p>I work at ServiceNow, which sells an enterprise platform and a ton of products built on top of it.
Internal teams and customers can extend the platform by writing JavaScript, hence we have a JS runtime in the platform (the venerable <a href="https://github.com/mozilla/rhino/" rel="nofollow">https://github.com/mozilla/rhino/</a>), which our team works on.</p>
]]></description><pubDate>Wed, 20 Aug 2025 08:11:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44959812</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=44959812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44959812</guid></item><item><title><![CDATA[New comment by andreabergia in "The value of hitting the HN front page"]]></title><description><![CDATA[
<p>Same here!
I am now actually working in compilers, which is one thing I'm really passionate about, but not something I was doing professionaly. I managed to turn a toy project and some blog posts into an actual job at almost 40, so, thank you HN!</p>
]]></description><pubDate>Wed, 20 Aug 2025 06:26:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44959202</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=44959202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44959202</guid></item><item><title><![CDATA[New comment by andreabergia in "Gremllm"]]></title><description><![CDATA[
<p><p><pre><code>  from gremllm import Gremllm

  # Be sure to tell your gremllm what sort of thing it is
  counter = Gremllm('counter')
  counter.value = 5
  counter.increment()
  print(counter.value)  # 6?
  print(counter.to_roman_numerals()) # VI?
</code></pre>
I love this!</p>
]]></description><pubDate>Fri, 04 Jul 2025 16:42:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=44465981</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=44465981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44465981</guid></item><item><title><![CDATA[Gremllm]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/awwaiid/gremllm">https://github.com/awwaiid/gremllm</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44465980">https://news.ycombinator.com/item?id=44465980</a></p>
<p>Points: 129</p>
<p># Comments: 18</p>
]]></description><pubDate>Fri, 04 Jul 2025 16:42:57 +0000</pubDate><link>https://github.com/awwaiid/gremllm</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=44465980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44465980</guid></item><item><title><![CDATA[New comment by andreabergia in "Writing C++ in 2025"]]></title><description><![CDATA[
<p>Of course I didn't assume to be 100% productive immediately, and I did spend a few weeks on this experiment, not just some days.
My point was more about how even modern C++ felt (to me) dated and annoying to use compared to more modern language, because of the strong (but very valid!) focus on backward compatibility that C++ has. Furthermore, the long history and baggage means that for any thing, there are _many_ different ways of doing it, which doesn't help.<p>And anyway, it was not a particularly serious (or, for that matter, well written or argued) discussion. As I mentioned in literally the first line, it's just a rant :-)<p>PS: I am unsure what you mean with "relying on LLM for configuring things says it all". In my experience, this is one area where LLMs _really_ do help a lot - it has been much faster than going through the documentation (which I also did quite a bit of, in particular for conan).</p>
]]></description><pubDate>Wed, 21 May 2025 07:37:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44049205</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=44049205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44049205</guid></item><item><title><![CDATA[Emjay – implementing function calls in my JIT compiler]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2025/03/emjay-implementing-function-calls/">https://andreabergia.com/blog/2025/03/emjay-implementing-function-calls/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43538997">https://news.ycombinator.com/item?id=43538997</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 31 Mar 2025 19:43:05 +0000</pubDate><link>https://andreabergia.com/blog/2025/03/emjay-implementing-function-calls/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=43538997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43538997</guid></item><item><title><![CDATA[New comment by andreabergia in "Emjay – a simple JIT that does math"]]></title><description><![CDATA[
<p>Thanks!</p>
]]></description><pubDate>Sat, 15 Feb 2025 16:04:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43059507</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=43059507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43059507</guid></item><item><title><![CDATA[Emjay – a simple JIT that does math]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2025/02/emjay-a-simple-jit-that-does-math/">https://andreabergia.com/blog/2025/02/emjay-a-simple-jit-that-does-math/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43049690">https://news.ycombinator.com/item?id=43049690</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Fri, 14 Feb 2025 15:55:35 +0000</pubDate><link>https://andreabergia.com/blog/2025/02/emjay-a-simple-jit-that-does-math/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=43049690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43049690</guid></item><item><title><![CDATA[Crazy Debugging Stories – Recursion]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2024/08/crazy-debugging-stories-recursion/">https://andreabergia.com/blog/2024/08/crazy-debugging-stories-recursion/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41283154">https://news.ycombinator.com/item?id=41283154</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 18 Aug 2024 16:03:04 +0000</pubDate><link>https://andreabergia.com/blog/2024/08/crazy-debugging-stories-recursion/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=41283154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41283154</guid></item><item><title><![CDATA[How is this blog built?]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2024/03/how-is-this-blog-built/">https://andreabergia.com/blog/2024/03/how-is-this-blog-built/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39643995">https://news.ycombinator.com/item?id=39643995</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 08 Mar 2024 18:13:34 +0000</pubDate><link>https://andreabergia.com/blog/2024/03/how-is-this-blog-built/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=39643995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39643995</guid></item><item><title><![CDATA[Playing with Nom and Parser Combinators]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2024/01/playing-with-nom-and-parser-combinators/">https://andreabergia.com/blog/2024/01/playing-with-nom-and-parser-combinators/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39195542">https://news.ycombinator.com/item?id=39195542</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 30 Jan 2024 20:45:01 +0000</pubDate><link>https://andreabergia.com/blog/2024/01/playing-with-nom-and-parser-combinators/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=39195542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39195542</guid></item><item><title><![CDATA[A JVM in Rust part 8 – Retrospective]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2023/11/a-jvm-in-rust-part-8-retrospective/">https://andreabergia.com/blog/2023/11/a-jvm-in-rust-part-8-retrospective/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38293682">https://news.ycombinator.com/item?id=38293682</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 16 Nov 2023 18:51:48 +0000</pubDate><link>https://andreabergia.com/blog/2023/11/a-jvm-in-rust-part-8-retrospective/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=38293682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38293682</guid></item><item><title><![CDATA[A JVM in Rust part 6 – Methods and exceptions]]></title><description><![CDATA[
<p>Article URL: <a href="https://andreabergia.com/blog/2023/09/a-jvm-in-rust-part-6-methods-and-exceptions/">https://andreabergia.com/blog/2023/09/a-jvm-in-rust-part-6-methods-and-exceptions/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37633561">https://news.ycombinator.com/item?id=37633561</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 24 Sep 2023 14:41:21 +0000</pubDate><link>https://andreabergia.com/blog/2023/09/a-jvm-in-rust-part-6-methods-and-exceptions/</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=37633561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37633561</guid></item><item><title><![CDATA[New comment by andreabergia in "Ask HN: What benefits are important to you when choosing a job?"]]></title><description><![CDATA[
<p>Remote is a requirement, due to family reasons.
Salary.<p>Vacations, health insurance, parental leave are all given by law here (Italy). But, if they weren't, I guess they'd be pretty important.</p>
]]></description><pubDate>Tue, 12 Sep 2023 12:35:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=37480168</link><dc:creator>andreabergia</dc:creator><comments>https://news.ycombinator.com/item?id=37480168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37480168</guid></item></channel></rss>