<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: laurentlb</title><link>https://news.ycombinator.com/user?id=laurentlb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 03:19:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=laurentlb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by laurentlb in "Revision Demoparty 2026: Razor1911 [video]"]]></title><description><![CDATA[
<p>There have been lots of discussions around AI in the demoscene. Revision limits how you can use AI (<a href="https://2026.revision-party.net/competitions/general-rules/" rel="nofollow">https://2026.revision-party.net/competitions/general-rules/</a>), even if it's not always enforceable.<p>There's a lot of push back against AI-generated graphics and music. For code, it's more difficult to know. AI is used by some people to automate the boring tasks, so that they can focus more on the artistic side.</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:49:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694545</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=47694545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694545</guid></item><item><title><![CDATA[Demos of 2025 from the Demoscene]]></title><description><![CDATA[
<p>Article URL: <a href="https://laurent.le-brun.eu/blog/the-best-demos-of-2025-from-the-demoscene">https://laurent.le-brun.eu/blog/the-best-demos-of-2025-from-the-demoscene</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47391834">https://news.ycombinator.com/item?id=47391834</a></p>
<p>Points: 26</p>
<p># Comments: 3</p>
]]></description><pubDate>Sun, 15 Mar 2026 20:59:21 +0000</pubDate><link>https://laurent.le-brun.eu/blog/the-best-demos-of-2025-from-the-demoscene</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=47391834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47391834</guid></item><item><title><![CDATA[Creating a Programming Language Using Coding Agents on GitHub]]></title><description><![CDATA[
<p>Article URL: <a href="https://dsyme.net/2026/02/08/july-2025-creating-a-compiler-with-a-swarm/">https://dsyme.net/2026/02/08/july-2025-creating-a-compiler-with-a-swarm/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46937806">https://news.ycombinator.com/item?id=46937806</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 08 Feb 2026 19:46:18 +0000</pubDate><link>https://dsyme.net/2026/02/08/july-2025-creating-a-compiler-with-a-swarm/</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=46937806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46937806</guid></item><item><title><![CDATA[New comment by laurentlb in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p>My personal website + blog:
<a href="https://laurent.le-brun.eu" rel="nofollow">https://laurent.le-brun.eu</a><p>Multiple of my blog posts have been shared here before</p>
]]></description><pubDate>Thu, 15 Jan 2026 11:14:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46630911</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=46630911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46630911</guid></item><item><title><![CDATA[New comment by laurentlb in "Making a game on a custom bytecode VM in 7 days and 3kB"]]></title><description><![CDATA[
<p>There's no specific filter. The main effect is blending the previous frame with the current frame. When blending, I modify the coordinates and add some noise. This makes the graphics look less basic and it creates this noisy trail when things move.<p>The source code is here: <a href="https://github.com/laurentlb/shmup8/blob/main/src/shaders/scene.frag" rel="nofollow">https://github.com/laurentlb/shmup8/blob/main/src/shaders/sc...</a><p>Blending is on lines 241, 242.<p>I didn't try to get a specific 80s look, I just played with formulas.</p>
]]></description><pubDate>Thu, 25 Dec 2025 00:21:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46380842</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=46380842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46380842</guid></item><item><title><![CDATA[Making a game on a custom bytecode VM in 7 days and 3kB]]></title><description><![CDATA[
<p>Article URL: <a href="https://laurent.le-brun.eu/blog/making-a-game-on-a-custom-bytecode-vm-in-7-days-and-3kb">https://laurent.le-brun.eu/blog/making-a-game-on-a-custom-bytecode-vm-in-7-days-and-3kb</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46325337">https://news.ycombinator.com/item?id=46325337</a></p>
<p>Points: 108</p>
<p># Comments: 18</p>
]]></description><pubDate>Fri, 19 Dec 2025 13:00:47 +0000</pubDate><link>https://laurent.le-brun.eu/blog/making-a-game-on-a-custom-bytecode-vm-in-7-days-and-3kb</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=46325337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46325337</guid></item><item><title><![CDATA[New comment by laurentlb in "Dithering – Part 1"]]></title><description><![CDATA[
<p>Interesting topic. I appreciate the effort that went into this, there are some good animations.<p>But I find this kind of presentation much harder to read than a classic blog post. It's difficult to skim through the text to see how far it goes (and the article structure is not apparent); instead, I was kind of forced to read the text sentence by sentence (since I was familiar with the topic, I wanted to skip over the basics).</p>
]]></description><pubDate>Thu, 30 Oct 2025 11:23:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45758784</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45758784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45758784</guid></item><item><title><![CDATA[New comment by laurentlb in "Mesh2Motion – Open-source web application to animate 3D models"]]></title><description><![CDATA[
<p>Very nice project!
Thanks for making it open-source and very easy to use. I hope you'll find contributors and be able to get a nice collection of animations!<p>I'm starting a new project, I may have to use this tool in the next few months.</p>
]]></description><pubDate>Fri, 24 Oct 2025 17:43:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45697138</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45697138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45697138</guid></item><item><title><![CDATA[New comment by laurentlb in "Ask HN: Should I open source my video game?"]]></title><description><![CDATA[
<p>What's the downside of open sourcing it?</p>
]]></description><pubDate>Sat, 18 Oct 2025 23:59:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45631211</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45631211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45631211</guid></item><item><title><![CDATA[Designing a video game for language learners]]></title><description><![CDATA[
<p>Article URL: <a href="https://laurent.le-brun.eu/blog/designing-a-video-game-for-language-learners">https://laurent.le-brun.eu/blog/designing-a-video-game-for-language-learners</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45631123">https://news.ycombinator.com/item?id=45631123</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 18 Oct 2025 23:34:40 +0000</pubDate><link>https://laurent.le-brun.eu/blog/designing-a-video-game-for-language-learners</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45631123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45631123</guid></item><item><title><![CDATA[New comment by laurentlb in "An opinionated critique of Duolingo"]]></title><description><![CDATA[
<p>Each time I read this kind of feedback, I wonder if there should be a free, community driven, alternative to Duolingo.<p>- Content may be provided by contributors (like Duolingo did for many years)<p>- It could be supported by donations (I believe the costs can be kept low)<p>My feeling is that lots of problems with Duolingo are caused by monetization (and many things were better in Duolingo a few years ago).<p>I'm still not sure of how it should be designed and what we need exactly. One of the problems is also to get enough contributors. I'd be interested in hearing more thoughts on this.<p>As a hobby, I started building an alternative to the Duolingo Stories feature (<a href="https://lingostories.org" rel="nofollow">https://lingostories.org</a>), but it's still fairly limited.</p>
]]></description><pubDate>Wed, 01 Oct 2025 08:26:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45435556</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45435556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45435556</guid></item><item><title><![CDATA[New comment by laurentlb in "A WebGL game where you deliver messages on a tiny planet"]]></title><description><![CDATA[
<p>I'd rather have the choice to control the camera (the "smart" camera could be used only if I don't control it), because it didn't work well for me.<p>Nice game otherwise.</p>
]]></description><pubDate>Sat, 27 Sep 2025 19:11:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45398573</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45398573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45398573</guid></item><item><title><![CDATA[HiTex: A spam factory for AI-generated books]]></title><description><![CDATA[
<p>Article URL: <a href="https://laurent.le-brun.eu/blog/hitex-a-spam-factory-for-ai-generated-books">https://laurent.le-brun.eu/blog/hitex-a-spam-factory-for-ai-generated-books</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45203707">https://news.ycombinator.com/item?id=45203707</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Sep 2025 21:05:26 +0000</pubDate><link>https://laurent.le-brun.eu/blog/hitex-a-spam-factory-for-ai-generated-books</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45203707</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45203707</guid></item><item><title><![CDATA[New comment by laurentlb in "Static sites enable a good time travel experience"]]></title><description><![CDATA[
<p>Building old code and getting the same result is not always trivial to do.<p>Potential issues:<p>- If you have content in a database, can you able to restore the database at any point in time?<p>- If you code has dependencies, were all the dependencies checked in the repository? If not, can you still find the same version you were using.<p>- What about your tools, compilers, etc.? Sure some of them like Go are pretty good with backward compatibility, but not all of them. Maybe you used a beta version of a tool? You might need to find the same version of the tools you were using. By the way, did you keep track of the versions of your tools, or do you need to guess?<p>Even with static websites, you can get into trouble if you referenced e.g. a JS file stored somewhere else. But the point is: going back in time is often much easier with static websites.<p>(Related topic: reproducible builds.)</p>
]]></description><pubDate>Tue, 02 Sep 2025 17:50:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45106605</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=45106605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45106605</guid></item><item><title><![CDATA[New comment by laurentlb in "PHP 8.5 adds pipe operator"]]></title><description><![CDATA[
<p>It's defined in the standard library and can be redefined by anyone.<p>It's usually called operator because it uses an infix notation.</p>
]]></description><pubDate>Tue, 05 Aug 2025 15:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44799247</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=44799247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44799247</guid></item><item><title><![CDATA[New comment by laurentlb in "Show HN: A 'Choose Your Own Adventure' written in Emacs Org Mode"]]></title><description><![CDATA[
<p>Interesting project!<p>When I looked into CYOA, I opted for Ink. It's using a nice text-based language, a bit like markdown. It worked well for me, and I think it's a good option if you want to use a text editor.<p>I wrote about my experiments here: <a href="https://laurent.le-brun.eu/blog/my-adventures-with-narrative-engines" rel="nofollow">https://laurent.le-brun.eu/blog/my-adventures-with-narrative...</a></p>
]]></description><pubDate>Wed, 16 Jul 2025 22:32:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44587531</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=44587531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44587531</guid></item><item><title><![CDATA[New comment by laurentlb in "Show HN: OffChess – Offline chess puzzles app"]]></title><description><![CDATA[
<p>Nice project!<p>As it was not clear from the description, there's a one-time payment (4.29€) to get more than 7 puzzles in a day.<p>Lichess also offers a good alternative to this, although their offline support is limited.</p>
]]></description><pubDate>Tue, 08 Jul 2025 11:28:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44499018</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=44499018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44499018</guid></item><item><title><![CDATA[Couchers is officially out of beta]]></title><description><![CDATA[
<p>Article URL: <a href="https://couchers.org/blog/2025/07/01/releasing-couchers-v1">https://couchers.org/blog/2025/07/01/releasing-couchers-v1</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44446917">https://news.ycombinator.com/item?id=44446917</a></p>
<p>Points: 249</p>
<p># Comments: 126</p>
]]></description><pubDate>Wed, 02 Jul 2025 18:05:20 +0000</pubDate><link>https://couchers.org/blog/2025/07/01/releasing-couchers-v1</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=44446917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44446917</guid></item><item><title><![CDATA[New comment by laurentlb in "15 Years of Shader Minification"]]></title><description><![CDATA[
<p>Thanks! To be fair, there have been a few years without a single commit: <a href="https://github.com/laurentlb/shader-minifier/graphs/contributors">https://github.com/laurentlb/shader-minifier/graphs/contribu...</a> (before 2013, the code was in a private svn repo).<p>I also enjoy alternating work between multiple of my hobby projects, and I find it refreshing to come back to this F# codebase once in a while. :)</p>
]]></description><pubDate>Tue, 13 May 2025 10:04:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43971328</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=43971328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43971328</guid></item><item><title><![CDATA[New comment by laurentlb in "15 Years of Shader Minification"]]></title><description><![CDATA[
<p>Most transformations don't change the code that's executed.<p><pre><code>  const float x = sin(2);
  const float y = 2;
</code></pre>
If you define these two consts, we can inline y everywhere it's used. But by default, we don't inline x as it would lead to more work at runtime (maybe it doesn't matter for sin, but other function calls can be expensive). If you notice performance issues, please file a bug.<p>Renaming uniforms is optional (there's a flag). If you use C++, you can generate a .h header file that contains both the minified shader and macros that tell you how they've been renamed.<p>So Shader Minifier will generate macros like:<p><pre><code>  # define VAR_time "f"
</code></pre>
to tell you that "time" is now called "f" and you can use VAR_time in your C++ code.</p>
]]></description><pubDate>Tue, 13 May 2025 07:48:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=43970531</link><dc:creator>laurentlb</dc:creator><comments>https://news.ycombinator.com/item?id=43970531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43970531</guid></item></channel></rss>