<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: pmoati</title><link>https://news.ycombinator.com/user?id=pmoati</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Apr 2026 21:42:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pmoati" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Pithos – A Zero-Dep TS Alternative to Lodash, Zod, and Neverthrow]]></title><description><![CDATA[
<p>Article URL: <a href="https://pithos.dev/">https://pithos.dev/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47586732">https://news.ycombinator.com/item?id=47586732</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 31 Mar 2026 13:00:03 +0000</pubDate><link>https://pithos.dev/</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47586732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47586732</guid></item><item><title><![CDATA[New comment by pmoati in "Show HN: Create a full language server in Go with 3.17 spec support"]]></title><description><![CDATA[
<p>I really like the interface-based auto-registration pattern, so elegeant!<p>The implementation of HoverHandler seems clever... no manual wiring.
That's the kind of API design that makes Go's implicit interfaces shine.<p>I'm curious: How does error recovery work when a handler panics? Does the server keep the connection alive, or does it tear down?</p>
]]></description><pubDate>Mon, 30 Mar 2026 06:34:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47571102</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47571102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47571102</guid></item><item><title><![CDATA[New comment by pmoati in "Allow me to get to know you, mistakes and all"]]></title><description><![CDATA[
<p>Thanks! And I'll never try to sell you scam crypto ! :D</p>
]]></description><pubDate>Sun, 15 Mar 2026 18:45:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47390485</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47390485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47390485</guid></item><item><title><![CDATA[New comment by pmoati in "Allow me to get to know you, mistakes and all"]]></title><description><![CDATA[
<p>That's a really good question. Before, I was using Google Translate, which is not perfect. Now I'm using Claude and I think I tend to centralize my tools... Like before, when I was using both Google Search and Google Translate, now I just use Claude for a lot of thing.<p>Plus, I think Claude is a better model than the one used by Google Translate, but correct me if I'm wrong.<p>But you're right, DeepL should be perfect to do it, because is model is dedicated for translations !</p>
]]></description><pubDate>Sun, 15 Mar 2026 10:39:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47386059</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47386059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47386059</guid></item><item><title><![CDATA[New comment by pmoati in "Marketing for Founders"]]></title><description><![CDATA[
<p>A really big up for you, I launched my lib <a href="https://pithos.dev" rel="nofollow">https://pithos.dev</a> fews days ago, and I tried to coordinate posts on HN, Reddit, dev.to and Linkedin... but it was a failure because I didn't have accounts for HN and Reddit, so I was not able to post :) Now I understand I have to interact with people to win karma and it's a better way to share and communicate with a community !
Might be you could add this point to your guide ?</p>
]]></description><pubDate>Sun, 15 Mar 2026 07:08:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47384994</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47384994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47384994</guid></item><item><title><![CDATA[New comment by pmoati in "Allow me to get to know you, mistakes and all"]]></title><description><![CDATA[
<p>I totally agreed with you. I'm French (nobody is perfect ^^), I'm not so fluent in english and I'm dyslexic, that why I often write my message, then I ask to Claude to translate it in english because i'm feeling I will lose the credibility of my message if there is too much mistake...
But you're right, so this message is not translated by LLM :D</p>
]]></description><pubDate>Sun, 15 Mar 2026 07:00:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47384961</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47384961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47384961</guid></item><item><title><![CDATA[New comment by pmoati in "Show HN: What's my JND? – a colour guessing game"]]></title><description><![CDATA[
<p>it's a clever idea but the perception of the color is not easy to have a graduated difficulty. 
Plus, an alternative to the div might be to use the canvas to avoid cheating by watching the position of the gradient on the console :p<p>anyway, thank you ! i didn't clean my screen since 1 week, and this game need to !<p>0.000020 ^^
<a href="https://www.keithcirkel.co.uk/whats-my-jnd/?r=AAIoKP" rel="nofollow">https://www.keithcirkel.co.uk/whats-my-jnd/?r=AAIoKP</a></p>
]]></description><pubDate>Wed, 11 Mar 2026 21:52:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47342586</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47342586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47342586</guid></item><item><title><![CDATA[New comment by pmoati in "I Updated My Embedding Model and My RAG Broke: A Post-Mortem"]]></title><description><![CDATA[
<p>haha, I know that feeling! I worked on a RAG system for a pharmaceutical client and the hardest part was exactly this: You know, when everything looks fine, without error, but results are silently wrong!!! 
I think LLMs answering with full confidence on bad data is the most dangerous failure mode.</p>
]]></description><pubDate>Wed, 11 Mar 2026 21:29:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47342233</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47342233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47342233</guid></item><item><title><![CDATA[New comment by pmoati in "Show HN: CAS – I reverse-engineered Claude Code to build a better orchestrator"]]></title><description><![CDATA[
<p>oups, I just realized you already explain you're using a git worktree. Sorry about that!<p>I think the demo statement idea is really clever! Without something like that, agents always build layers of plumbing that never connect to anything visible...<p>I've seen the same problem by using CC on my own projects.</p>
]]></description><pubDate>Wed, 11 Mar 2026 21:12:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47341959</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47341959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47341959</guid></item><item><title><![CDATA[New comment by pmoati in "Show HN: CAS – I reverse-engineered Claude Code to build a better orchestrator"]]></title><description><![CDATA[
<p>I'm sometime using Claude Code for the work, and I really like to parallelize multiple agents. So I'm wondering how you manage two workers who are editing a same file?</p>
]]></description><pubDate>Wed, 11 Mar 2026 21:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47341862</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47341862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47341862</guid></item><item><title><![CDATA[New comment by pmoati in "Show HN: Vanilla JavaScript refinery simulator built to explain job to my kids"]]></title><description><![CDATA[
<p>The "patch file" approach for LLM output on large files is spot on. I've hit the same wall and forcing targeted replacements instead of full rewrites is the only sane way past a certain codebase size. Also respect for managing state manually in 9k lines of vanilla JS without reaching for a framework.</p>
]]></description><pubDate>Wed, 11 Mar 2026 20:53:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47341584</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47341584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47341584</guid></item><item><title><![CDATA[New comment by pmoati in "Good software knows when to stop"]]></title><description><![CDATA[
<p>The Getting Real philosophy aged remarkably well !
"Say no by default" is something I wish more open-source maintainers would internalize... Every feature you add is a feature you maintain forever and knowing where to draw the line is probably one of the hardest skill in software.</p>
]]></description><pubDate>Wed, 11 Mar 2026 11:05:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47334054</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47334054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47334054</guid></item><item><title><![CDATA[New comment by pmoati in "Nobody ever got fired for using a struct"]]></title><description><![CDATA[
<p>Great writeup !<p>The bitmap trick is elegant and I've seen similar patterns in other contexts. The core insight resonates beyond Rust and SQL: the data structure that's "obvious" at design time can become a bottleneck when the real-world usage pattern diverges from your assumptions. Most fields exist vs most fields might not exist is a subtil but critical distinction.<p>The fix being a simple layout change rather than a clever algorithm is also a good reminder. I've spent 20 years building apps and the most impactful optimizations were almost always about changing the shape of data, not adding complexity.</p>
]]></description><pubDate>Wed, 11 Mar 2026 11:00:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47334020</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47334020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47334020</guid></item><item><title><![CDATA[A novel technique for creating ergonomic and tree-shakable TypeScript libraries]]></title><description><![CDATA[
<p>Article URL: <a href="https://softwaremill.com/a-novel-technique-for-creating-ergonomic-and-tree-shakable-typescript-libraries/">https://softwaremill.com/a-novel-technique-for-creating-ergonomic-and-tree-shakable-typescript-libraries/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47307872">https://news.ycombinator.com/item?id=47307872</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 09 Mar 2026 11:54:44 +0000</pubDate><link>https://softwaremill.com/a-novel-technique-for-creating-ergonomic-and-tree-shakable-typescript-libraries/</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47307872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47307872</guid></item><item><title><![CDATA[New comment by pmoati in "Ask HN: What are you working on (March 2026)"]]></title><description><![CDATA[
<p>I'm building Pithos (<a href="https://pithos.dev" rel="nofollow">https://pithos.dev</a>), a zero-dependency TypeScript utility ecosystem.<p>Five modules, one package: 
data utilities (Arkhe), schema validation (Kanon), Result/Option types (Zygos), typed error classes (Sphalma), and a Lodash migration bridge (Taphos).<p>The idea is that these patterns compose natively:
Validate with Kanon, get a typed Result back via Zygos, chain transformations with Arkhe. 
One pipeline, no try/catch, full type inference.<p>Benchmarks: ~4x smaller and 5-11x faster than Zod 4, ~21x smaller than Lodash, ~3x smaller than Neverthrow.<p>Available on npm as @pithos/core</p>
]]></description><pubDate>Mon, 09 Mar 2026 11:45:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47307789</link><dc:creator>pmoati</dc:creator><comments>https://news.ycombinator.com/item?id=47307789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47307789</guid></item></channel></rss>