<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: Labo333</title><link>https://news.ycombinator.com/user?id=Labo333</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 09:28:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Labo333" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Litter Boxed, an open-source variant of NYT's Letter Boxed]]></title><description><![CDATA[
<p>Article URL: <a href="https://louisabraham.github.io/litterboxed/">https://louisabraham.github.io/litterboxed/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48181954">https://news.ycombinator.com/item?id=48181954</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 18 May 2026 16:30:16 +0000</pubDate><link>https://louisabraham.github.io/litterboxed/</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=48181954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48181954</guid></item><item><title><![CDATA[Show HN: Neko.js, a recreation of the first virtual pet]]></title><description><![CDATA[
<p>Hi HN,<p>Best wishes for the new year!<p>Here is a late Christmas present: I rebuilt Neko [1], the classic desktop cat that chases your mouse, as a tiny, dependency-free JavaScript library that you can embed directly in your webpages (for example I put it on my personal blog).<p>Live demo: <a href="https://louisabraham.github.io/nekojs/" rel="nofollow">https://louisabraham.github.io/nekojs/</a><p>GitHub: <a href="https://github.com/louisabraham/nekojs" rel="nofollow">https://github.com/louisabraham/nekojs</a><p>Drop-in usage is a single script tag:<p><pre><code>    <script src="https://louisabraham.github.io/nekojs/neko.js" data-autostart></script>
</code></pre>
This is a fairly faithful recreation of Neko98: same state machine, same behaviors, same original 32×32 pixel sprites. It follows your cursor, falls asleep when idle, claws walls, and you can click it to cycle behavior modes.<p>What made this project interesting to me is how I built it. I started by feeding the original C++ source (from the Wayback Machine) to Claude and let it "vibe code" a first JS implementation. That worked surprisingly well as a starting point, but getting it truly accurate required a lot of manual fixes: rewriting movement logic, fixing animation timing, handling edge cases the AI missed, etc.<p>My takeaway: coding agents are very useful at resurrecting old codebases, and this is probably the best non-soulless use of AI for coding. It gets you 60–70% of the way there very fast, especially for legacy code that would otherwise rot unread. The last 30% still needs a human who cares about details.<p>The final result is ~38KB uncompressed (~14KB brotli), zero dependencies, and can be dropped into a page with a single <script> tag.<p>Happy to hear thoughts from desktop pets nostalgics!<p>[1]: <a href="https://en.wikipedia.org/wiki/Neko_(software)" rel="nofollow">https://en.wikipedia.org/wiki/Neko_(software)</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46454879">https://news.ycombinator.com/item?id=46454879</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 01 Jan 2026 15:35:48 +0000</pubDate><link>https://github.com/louisabraham/nekojs</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=46454879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46454879</guid></item><item><title><![CDATA[Show HN: Neko.js, a recreation of the first virtual pet]]></title><description><![CDATA[
<p>Hi HN,<p>Here is a late Christmas present: I rebuilt Neko [1], the classic desktop cat that chases your mouse, as a tiny, dependency-free JavaScript library that runs directly on web pages.<p>Live demo: <a href="https://louisabraham.github.io/nekojs/" rel="nofollow">https://louisabraham.github.io/nekojs/</a><p>GitHub: <a href="https://github.com/louisabraham/nekojs" rel="nofollow">https://github.com/louisabraham/nekojs</a><p>Drop-in usage is a single script tag:<p><pre><code>    <script src="https://louisabraham.github.io/nekojs/neko.js" data-autostart></script>
</code></pre>
This is a fairly faithful recreation of Neko98: same state machine, same behaviors, same original 32×32 pixel sprites. It follows your cursor, falls asleep when idle, claws walls, and you can click it to cycle behavior modes.<p>What made this project interesting to me is how I built it. I started by feeding the original C++ source (from the Wayback Machine) to Claude and let it "vibe code" a first JS implementation. That worked surprisingly well as a starting point, but getting it truly accurate required a lot of manual fixes: rewriting movement logic, fixing animation timing, handling edge cases the AI missed, etc.<p>My takeaway: coding agents are very useful at resurrecting old codebases, and this is probably the best non-soulless use of AI for coding. It gets you 60–70% of the way there very fast, especially for legacy code that would otherwise rot unread. The last 30% still needs a human who cares about details.<p>The final result is ~38KB uncompressed (~14KB brotli), zero dependencies, and can be dropped into a page with a single <script> tag.<p>Happy to hear thoughts from desktop pets nostalgics!<p>[1]: <a href="https://en.wikipedia.org/wiki/Neko_(software)" rel="nofollow">https://en.wikipedia.org/wiki/Neko_(software)</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46423147">https://news.ycombinator.com/item?id=46423147</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Dec 2025 17:44:22 +0000</pubDate><link>https://louisabraham.github.io/nekojs/</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=46423147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46423147</guid></item><item><title><![CDATA[New comment by Labo333 in "Building an AI agent inside a 7-year-old Rails monolith"]]></title><description><![CDATA[
<p>I built a similar system for php and I can tell you what is the smart thing here: accessing data using tools.<p>Of course tool calling and MCP are not new. But the smart thing is that by defining the tools in the <i>context</i> of an authenticated request, one can easily enforce the security policy of the monolith.<p>In my case (we will maybe write a blog post one day), it's even neater as the agent is coded in Python so the php app talks with Python through local HTTP (we are thinking about building a central micro service) and the tool calls are encoded as JSON RPC, and <i>yet it works</i>.</p>
]]></description><pubDate>Fri, 26 Dec 2025 10:05:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46390773</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=46390773</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46390773</guid></item><item><title><![CDATA[Internet vs. AI – Live]]></title><description><![CDATA[
<p>Article URL: <a href="https://internetvsai.artix.tech/">https://internetvsai.artix.tech/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46385087">https://news.ycombinator.com/item?id=46385087</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 25 Dec 2025 15:51:29 +0000</pubDate><link>https://internetvsai.artix.tech/</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=46385087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385087</guid></item><item><title><![CDATA[New comment by Labo333 in "Show HN: Twitch Plays Claude – Crowd-controlled live coding experiment"]]></title><description><![CDATA[
<p>Wow that's cool!<p>I think the hardest for this kind of projects is to keep it active. Environments with a "global state" like this (everyone shares the same website) are ultimately limited to surges (seasonal events like Magnus vs The World or a single game of Twitch plays Pokemon) or to a recurring flow of new people.<p>Maybe having multiple "realms", so that there are not too many people in a single realm in case of virality, and the ability for people to spawn their own realms would be nice (think skribbl or Among Us) but then it would kind of be a Lovable and cost a lot to host the LLM. But since the html code is open source, local LLMs (like Gemini Nano embedded in Chrome) could theoretically do the editing. In that case, the web page should definitely be marked as even unsafer! I wonder how one could avoid the red flag of Chrome for pages that are deliberately made to host collaborative crap.</p>
]]></description><pubDate>Sun, 21 Dec 2025 19:56:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46347828</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=46347828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46347828</guid></item><item><title><![CDATA[The Missing Link Between the Transformer and Models of the Brain]]></title><description><![CDATA[
<p>Article URL: <a href="https://arxiv.org/abs/2509.26507">https://arxiv.org/abs/2509.26507</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45536244">https://news.ycombinator.com/item?id=45536244</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 10 Oct 2025 07:32:47 +0000</pubDate><link>https://arxiv.org/abs/2509.26507</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=45536244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45536244</guid></item><item><title><![CDATA[New comment by Labo333 in "Using Deno as my game engine"]]></title><description><![CDATA[
<p>I don't get why one wouldn't just use webworkers to run the simulation instead, thus making the game fully executable in a web browser.<p>If deno has some perks during development, there must be a way to replace websocket with some other transport that works with webworkers for "production" builds.</p>
]]></description><pubDate>Tue, 07 Oct 2025 09:22:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45501042</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=45501042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45501042</guid></item><item><title><![CDATA[New comment by Labo333 in "Wikipedia survives while the rest of the internet breaks"]]></title><description><![CDATA[
<p>archive.is breaks the styling and doesn't execute the js<p>But archive.org has the subscription popup...<p><a href="https://web.archive.org/web/20250905062805/https://www.theverge.com/cs/features/717322/wikipedia-attacks-neutrality-history-jimmy-wales" rel="nofollow">https://web.archive.org/web/20250905062805/https://www.theve...</a></p>
]]></description><pubDate>Fri, 05 Sep 2025 08:33:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45136310</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=45136310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45136310</guid></item><item><title><![CDATA[New comment by Labo333 in "How many paths of length K are there between A and B? (2021)"]]></title><description><![CDATA[
<p>CH gives you recurrence on the matrix. You want recurrence on an individual element (indexed by [start][end]).</p>
]]></description><pubDate>Mon, 25 Aug 2025 06:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45010859</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=45010859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45010859</guid></item><item><title><![CDATA[Self-attention transforms a prompt into a low-rank weight-update]]></title><description><![CDATA[
<p>Article URL: <a href="https://arxiv.org/abs/2507.16003">https://arxiv.org/abs/2507.16003</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44707801">https://news.ycombinator.com/item?id=44707801</a></p>
<p>Points: 17</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 28 Jul 2025 06:29:18 +0000</pubDate><link>https://arxiv.org/abs/2507.16003</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=44707801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44707801</guid></item><item><title><![CDATA[Watchfiles: Simple, modern and fast file watching for Python, written in Rust]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/samuelcolvin/watchfiles">https://github.com/samuelcolvin/watchfiles</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44505445">https://news.ycombinator.com/item?id=44505445</a></p>
<p>Points: 33</p>
<p># Comments: 4</p>
]]></description><pubDate>Wed, 09 Jul 2025 01:12:15 +0000</pubDate><link>https://github.com/samuelcolvin/watchfiles</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=44505445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44505445</guid></item><item><title><![CDATA[New comment by Labo333 in "Opening up ‘Zero-Knowledge Proof’ technology"]]></title><description><![CDATA[
<p>Very interesting in the context where major porn websites blocked access in France (now reverted) and in some US states as a response to age verification regulations that were too difficult to implement without compromising user experience and privacy.</p>
]]></description><pubDate>Thu, 03 Jul 2025 21:35:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44459392</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=44459392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44459392</guid></item><item><title><![CDATA[New comment by Labo333 in "Stepping Back"]]></title><description><![CDATA[
<p>Interesting. My process is similar, although based on the GTD method (for example with an Inbox list) and using Trello for implementation (I get syncing, task level notes, multimedia, item drag and drop, etc)</p>
]]></description><pubDate>Sun, 01 Jun 2025 16:03:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44151833</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=44151833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44151833</guid></item><item><title><![CDATA[New comment by Labo333 in "Show HN: Free, in-browser PDF editor"]]></title><description><![CDATA[
<p>Nice! Recently I had the need for pdf censoring, aka not adding black rectangles but actually removing the content underneath and I still haven't found a suitable tool. Any recommendation? Or even python library to do it?</p>
]]></description><pubDate>Sat, 03 May 2025 20:27:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43881985</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=43881985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43881985</guid></item><item><title><![CDATA[GPT Image prompted to "create the exact replica of this image" 74 times]]></title><description><![CDATA[
<p>Article URL: <a href="https://old.reddit.com/r/ChatGPT/comments/1k9yow9/chatgpt_omni_prompted_to_create_the_exact_replica/">https://old.reddit.com/r/ChatGPT/comments/1k9yow9/chatgpt_omni_prompted_to_create_the_exact_replica/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43842309">https://news.ycombinator.com/item?id=43842309</a></p>
<p>Points: 30</p>
<p># Comments: 3</p>
]]></description><pubDate>Wed, 30 Apr 2025 07:46:40 +0000</pubDate><link>https://old.reddit.com/r/ChatGPT/comments/1k9yow9/chatgpt_omni_prompted_to_create_the_exact_replica/</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=43842309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43842309</guid></item><item><title><![CDATA[New comment by Labo333 in "Show HN: Hexi – Modern header-only network binary serialisation for C++"]]></title><description><![CDATA[
<p>Fun! It reminds me of my own attempt at this: <a href="https://github.com/louisabraham/ubuf" rel="nofollow">https://github.com/louisabraham/ubuf</a><p>It can generate efficient JS and C++ from a simple YAML file.</p>
]]></description><pubDate>Fri, 28 Mar 2025 23:18:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43510934</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=43510934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43510934</guid></item><item><title><![CDATA[New comment by Labo333 in "When Greedy Algorithms Can Be Faster [C++]"]]></title><description><![CDATA[
<p>To accelerate the analytical solution, there are more obvious techniques, like replacing trigonometric opetations with series. This is a 10x improvement in <a href="https://ashvardanian.com/posts/google-benchmark/#slow-trigonometry-in-libc-and-stl-and-fast-math" rel="nofollow">https://ashvardanian.com/posts/google-benchmark/#slow-trigon...</a></p>
]]></description><pubDate>Sat, 01 Feb 2025 02:04:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42894927</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=42894927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42894927</guid></item><item><title><![CDATA[Effortless tests with cached stubs]]></title><description><![CDATA[
<p>Article URL: <a href="https://louisabraham.github.io/articles/cached-stubs">https://louisabraham.github.io/articles/cached-stubs</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42709747">https://news.ycombinator.com/item?id=42709747</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 15 Jan 2025 11:28:06 +0000</pubDate><link>https://louisabraham.github.io/articles/cached-stubs</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=42709747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42709747</guid></item><item><title><![CDATA[New comment by Labo333 in "SAT Solver Etudes I"]]></title><description><![CDATA[
<p>I remember putting together a bibliography about standard techniques a few years ago: <a href="https://arxiv.org/abs/1802.05159" rel="nofollow">https://arxiv.org/abs/1802.05159</a></p>
]]></description><pubDate>Wed, 08 Jan 2025 07:49:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=42632029</link><dc:creator>Labo333</dc:creator><comments>https://news.ycombinator.com/item?id=42632029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42632029</guid></item></channel></rss>