<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: dmadisetti</title><link>https://news.ycombinator.com/user?id=dmadisetti</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 25 Sep 2026 02:42:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dmadisetti" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Please Do Not Touch]]></title><description><![CDATA[
<p>Article URL: <a href="https://readme.dm/please-do-not-touch/">https://readme.dm/please-do-not-touch/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48749819">https://news.ycombinator.com/item?id=48749819</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 01 Jul 2026 16:54:08 +0000</pubDate><link>https://readme.dm/please-do-not-touch/</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=48749819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48749819</guid></item><item><title><![CDATA[New comment by dmadisetti in "GRPO vs. GDPO: Building Intuition for RL Reward Policies"]]></title><description><![CDATA[
<p>Relevant paper: <a href="https://arxiv.org/abs/2601.05242" rel="nofollow">https://arxiv.org/abs/2601.05242</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 18:05:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46619721</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=46619721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46619721</guid></item><item><title><![CDATA[GRPO vs. GDPO: Building Intuition for RL Reward Policies]]></title><description><![CDATA[
<p>Article URL: <a href="https://huggingface.co/spaces/dylan-marimo-io/Reward-Policy-Intuition">https://huggingface.co/spaces/dylan-marimo-io/Reward-Policy-Intuition</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46619720">https://news.ycombinator.com/item?id=46619720</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 14 Jan 2026 18:05:46 +0000</pubDate><link>https://huggingface.co/spaces/dylan-marimo-io/Reward-Policy-Intuition</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=46619720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46619720</guid></item><item><title><![CDATA[New comment by dmadisetti in "Deepnote, a Jupyter alternative, is going open source"]]></title><description><![CDATA[
<p>realtime collaboration is in under marimo experimental (just flip the flag)<p>marimo doesn't support creatine :)</p>
]]></description><pubDate>Tue, 04 Nov 2025 22:29:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45816599</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45816599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45816599</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>We've addressed this too by allowing a setup cell:<p><pre><code>    ...

    with app.setup:
        import numpy as np
    
    @app.cell
    def cell_uses_np():
        # no np needed in signature
        result = np....
</code></pre>
The best part about this pattern is that it enables "pure" (only dependent on setup cell) functions to be addressable:<p><pre><code>    with app.setup:
        from typing import Optional, Any

    @app.function
    def my_fn(arg: Optional[Any]) -> Any:
        ...
</code></pre>
but nice convergent design :) glad to see to see we're addressing pain points</p>
]]></description><pubDate>Sat, 18 Oct 2025 00:28:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45623709</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45623709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45623709</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>marimo has a quarto extension and a markdown fileformat [1] (marimo check works on this too!). The python fileformat was chosen such that "notebooks" are still valid python, but yes- the format itself is almost an implementation detail to most "notebook" users. Cells _are_ actually callable and importable functions though (you can give them a name), but the return signature is a bit different from what's serialized.<p>> The discipline of keeping cells in order may be painful, but it’s what makes the flow of analysis understandable to others.<p>We might have to agree to disagree here, you can still chose to have your notebook in order and something you can be disciplined about. The difference is that a marimo notebook can't become unreproducible the same way a jupyter notebook can, _because_ the order doesn't matter.<p>But thanks for the feedback!<p>[1]: <a href="https://github.com/marimo-team/quarto-marimo" rel="nofollow">https://github.com/marimo-team/quarto-marimo</a></p>
]]></description><pubDate>Thu, 16 Oct 2025 16:24:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45607393</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45607393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45607393</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>> But I really don't want to deal with yet another AI assistant, especially not a custom one when I'm already using Claude/etc from the CLI and I want those agents to help me edit the notebooks.<p>So funny story- you can use exactly the same CLI tools in your notebook. Zed built out the ACP spec [1] which lets Claude Code go anywhere that implements it (as of Oct 2nd; emacs, vim, zed and marimo [2])<p>[1]: <a href="https://github.com/agentclientprotocol/agent-client-protocol" rel="nofollow">https://github.com/agentclientprotocol/agent-client-protocol</a><p>[2]: <a href="https://zed.dev/blog/acp-progress-report" rel="nofollow">https://zed.dev/blog/acp-progress-report</a></p>
]]></description><pubDate>Thu, 16 Oct 2025 05:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45601701</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45601701</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45601701</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>Soft launched in pre-release, but a full version is coming!</p>
]]></description><pubDate>Thu, 16 Oct 2025 05:17:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45601673</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45601673</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45601673</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>Arguments are typed if explicitly specified in definition, e.g.<p><pre><code>    ```python
    @app.cell
    def my_cell():
        x : int = 1
        return (x,)

    @app.cell
    def consumer(x : int):
        y = x
        return
    ```
</code></pre>
We've talked about building out implicit typing into our serialization- but that may be a larger can of worms.</p>
]]></description><pubDate>Thu, 16 Oct 2025 05:14:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45601663</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45601663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45601663</guid></item><item><title><![CDATA[New comment by dmadisetti in "Closer to production quality Python notebooks with `marimo check`"]]></title><description><![CDATA[
<p>marimo notebooks double as python Python programs, which means they can be lint-ed like any other code. `marimo check` catches notebook-specific issues (variable redefinition across cells, circular dependencies) with Rust-inspired (and uv; uv is amazing) error messages. It outputs JSON for AI agents to self-correct, integrates into CI pipelines, and includes `--fix` flags for automatic repairs. The team is already using it in their own CI and seeing Claude Code iterate on notebooks without human intervention.</p>
]]></description><pubDate>Tue, 07 Oct 2025 21:44:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45509302</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45509302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45509302</guid></item><item><title><![CDATA[Closer to production quality Python notebooks with `marimo check`]]></title><description><![CDATA[
<p>Article URL: <a href="https://marimo.io/blog/marimo-check">https://marimo.io/blog/marimo-check</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45509301">https://news.ycombinator.com/item?id=45509301</a></p>
<p>Points: 31</p>
<p># Comments: 23</p>
]]></description><pubDate>Tue, 07 Oct 2025 21:44:18 +0000</pubDate><link>https://marimo.io/blog/marimo-check</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=45509301</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45509301</guid></item><item><title><![CDATA[New comment by dmadisetti in "Show HN: Molab, a cloud-hosted Marimo notebook workspace"]]></title><description><![CDATA[
<p>Hey, if your name had an accent, workspace creation should have failed<p>Not sure how we missed that in testing. But it should be good to go now</p>
]]></description><pubDate>Sun, 20 Jul 2025 22:15:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44629861</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=44629861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44629861</guid></item><item><title><![CDATA[New comment by dmadisetti in "Show HN: Molab, a cloud-hosted Marimo notebook workspace"]]></title><description><![CDATA[
<p>I just turned off /notebooks in robots.txt<p>Our thoughts are the same as gists- Molab is built to share your work and give you a place to tinker. Please don't put your api keys in there</p>
]]></description><pubDate>Sat, 19 Jul 2025 01:48:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44611813</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=44611813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44611813</guid></item><item><title><![CDATA[New comment by dmadisetti in "Show HN: Molab, a cloud-hosted Marimo notebook workspace"]]></title><description><![CDATA[
<p>Everyone knows prod doesn't break on the weekends</p>
]]></description><pubDate>Fri, 18 Jul 2025 18:55:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44608460</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=44608460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44608460</guid></item><item><title><![CDATA[New comment by dmadisetti in "Notebooks as reusable Python programs"]]></title><description><![CDATA[
<p>I'm from a computational mechanics background, and my biggest issue with jupyter notebooks was doing analysis, playing around with my models, getting results I was happy with; then having my kernel break on a fresh session whenever I wanted to revisit the result.<p>You could argue this is a user issue, and being sloppy with cell state is a me problem- not a notebook problem- but marimo prevents this in the first place. Just once is already a wasted day's work. Even if one is especially diligent in Jupyter, they do not have the guarantees marimo provides. Unless you are pressing "restart and run all" in a Jupyter kernel every time - you are accumulating state.<p>I got started with marimo and helped build out the caching because I wanted to open up a notebook from scratch and automatically restart at the point I was at- without having to worry whether my cell order is correct or not. I wanted my code to automatically rerun update outputs if I changed something like a filtering or transform step to my data. I also wanted to go back to previous states easily without having to rerun long computations or deal with data dump versioning.<p>marimo's caching makes this all automatic.<p>The plan is to bring caching to an opt-in cell basis so this happens behind the scenes, with some ideas for handling side-effects like randomness and other "non-pure" cases.<p>But to answer your points, my use case has been specifically scientific computing. Yes for 1) prototyping- but also knowing my prototype does not hold some hidden state or bug. I have shown my advisor results, gone to deploy and been unable to replicate them at scale because of some hidden bug in my notebook execution. To me this is unacceptable.
but also 2) documentation, notes, and report sharing. Not saving the outputs directly with the code isn't a blocker here, because caching automatically restores my state, and I can export to a more suitable format like a PDF or HTML file if I need to share it.
Saving generated binaries in source for any other setup would be considered poor form- I don't understand why Jupyter gets a pass here.
"Write once" is a google doc, notebooks should be "run many times", i.e. reproducible and sharable.<p>Hopefully, we get to address some of the other pain points with existing infrastructure; like auto-scaling on HPCs (easy for marimo, it's already a DAG); integrating code more directly into papers (we have mkdocs, and experimental quarto extension exists); and built-in environments (no more `pip install -R requirements.txt` on a paper project and hoping the authors remembered to freeze and pinned versions)<p>---<p>Hope my tone doesn't come off too contentious- I've just been burned by Jupyter and I'm excited because I feel like marimo addresses its major issues.</p>
]]></description><pubDate>Thu, 20 Mar 2025 00:20:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=43418697</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=43418697</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43418697</guid></item><item><title><![CDATA[New comment by dmadisetti in "Notebooks as reusable Python programs"]]></title><description><![CDATA[
<p>Very excited for the top level functions change coming up !!</p>
]]></description><pubDate>Wed, 19 Mar 2025 20:21:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=43416847</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=43416847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43416847</guid></item><item><title><![CDATA[New comment by dmadisetti in "GPT-4o with scheduled tasks (jawbone) is available in beta"]]></title><description><![CDATA[
<p>Doesn't need to be perfect- but using this would actively reduce productivity</p>
]]></description><pubDate>Tue, 14 Jan 2025 23:05:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=42705148</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=42705148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42705148</guid></item><item><title><![CDATA[New comment by dmadisetti in "GPT-4o with scheduled tasks (jawbone) is available in beta"]]></title><description><![CDATA[
<p>Yeah, they're not exactly a scrappy startup- I'd be surprised if they had 0 QA.<p>Makes me wonder if they internally have "press releases / Q" as an internal metric to keep up the hype.</p>
]]></description><pubDate>Tue, 14 Jan 2025 22:54:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=42705056</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=42705056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42705056</guid></item><item><title><![CDATA[New comment by dmadisetti in "Show HN: WASM-powered codespaces for Python notebooks on GitHub"]]></title><description><![CDATA[
<p>I feel like pytomls and shared source are becoming standard, but yes-<p>notebooks vs research code are sometimes very separate, very difficult to directly reproduce. A big difficultly with "working out of the box, shared in browser" is that weights, training, inference, simulations- are all still very compute intensive.<p>BUT the nice thing about a stateless notebook, is that you can precompute values- and cache them. I've been really excited about expanding marimo's caching system, and would love to get to a point whether sharing a notebook means being able to run the research yourself without some big setup dance.</p>
]]></description><pubDate>Tue, 14 Jan 2025 22:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=42705022</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=42705022</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42705022</guid></item><item><title><![CDATA[New comment by dmadisetti in "GPT-4o with scheduled tasks (jawbone) is available in beta"]]></title><description><![CDATA[
<p>The beta is inconsistently showing (required a few refreshes to get something to show up), but my limited usage of it showed a plethora of issues:<p>- Assumed UTC instead of EST. Corrected it and it still continued to bork<p>- Added random time deltas to my asked times (+2, -10 min).<p>- Couple notifications didn't go off at all<p>- The one that did go off didn't provide a push notification.<p>---<p>On top of that, only usable without search mode. In search mode, it was totally confused and gave me a Forbes article.<p>Seems half baked to me.<p>Doing scheduled research behind the scenes or sending a push notification to my phone would be cool, but surprised they thought this was OK for a public beta.</p>
]]></description><pubDate>Tue, 14 Jan 2025 22:41:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=42704941</link><dc:creator>dmadisetti</dc:creator><comments>https://news.ycombinator.com/item?id=42704941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42704941</guid></item></channel></rss>