<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: maggit</title><link>https://news.ycombinator.com/user?id=maggit</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 27 Sep 2026 05:17:36 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=maggit" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by maggit in "Jellyfin founder Andrew leaves team"]]></title><description><![CDATA[
<p>It's worth noting that Swiftfin finally had a new release for tvOS this summer which is worth checking out if you're interested in Jellyfin on Apple TV</p>
]]></description><pubDate>Tue, 21 Jul 2026 06:20:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48988725</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=48988725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48988725</guid></item><item><title><![CDATA[New comment by maggit in "Remove Black Color with Shaders"]]></title><description><![CDATA[
<p>It is indeed badly aliased. The technique demonstrated does not take into account antialiasing in the initial render, which causes this issue. There are ways to improve it, but I would advise against this approach in general since it doesn't handle these edge cases well.</p>
]]></description><pubDate>Tue, 23 Dec 2025 13:23:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46365144</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=46365144</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46365144</guid></item><item><title><![CDATA[New comment by maggit in "The x86 Interrupt List, aka “Ralf Brown's Interrupt List” (2018)"]]></title><description><![CDATA[
<p>x86-64 introduced a `syscall` instruction to allow syscalls with a lower overhead than going through interrupts. I don't know any reason to prefer `int 80h` over `syscall` when the latter is available. For documentation, see for example <a href="https://www.felixcloutier.com/x86/syscall" rel="nofollow">https://www.felixcloutier.com/x86/syscall</a></p>
]]></description><pubDate>Mon, 03 Nov 2025 08:13:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45796887</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=45796887</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45796887</guid></item><item><title><![CDATA[New comment by maggit in "Minesweeper thermodynamics"]]></title><description><![CDATA[
<p>There was a Minesweeper on here that used a SAT solver, but I cannot find it at the moment. As I recall, it never had any issue with resolving the board quickly. I think it dynamically resolved where the mines would be as you played the game, and if you clicked a square that could be a mine, it would be a mine, except, I believe, when there were no open squares that were safe.<p>(Edit: Here it is! <a href="https://pwmarcz.pl/kaboom/" rel="nofollow">https://pwmarcz.pl/kaboom/</a> And the write-up: <a href="https://pwmarcz.pl/blog/kaboom/" rel="nofollow">https://pwmarcz.pl/blog/kaboom/</a> )<p>This is similar in spirit to my take on the game: <a href="https://magnushoff.com/articles/minesweeper/" rel="nofollow">https://magnushoff.com/articles/minesweeper/</a><p>Unfortunately, not being familiar with SAT solvers, my implementation can grind to a halt in some configurations :)</p>
]]></description><pubDate>Thu, 04 Sep 2025 06:58:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45124368</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=45124368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45124368</guid></item><item><title><![CDATA[New comment by maggit in "Rust Additions for GCC 15 Bring Support for If-Let Statements"]]></title><description><![CDATA[
<p>It's more a matter of your personal preference and previous exposure to different languages. The way Rust reads is one of its super strengths in my book. I also really enjoyed Standard ML in university, and Rust picks up some of that (via OCaml).</p>
]]></description><pubDate>Mon, 24 Mar 2025 09:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43459008</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=43459008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43459008</guid></item><item><title><![CDATA[New comment by maggit in "Gnome / mutter triple buffering patch merged"]]></title><description><![CDATA[
<p>Adding some detail to this: With three buffers, you have one front-buffer (what's currently visible on screen) and two back-buffers. Let's call them A, B and C, respectively. This lets you work on the next frame in, say, B, and when it's ready, you queue it up for presentation. At the right time, then, the roles of the buffers will be switched, making B the front-buffer and A a back-buffer.<p>The third buffer comes into play if you want to start working on the next frame _before_ the switch has occurred. So you start drawing in C, and if the right time should hit, the display system can still flip A and B. In this case, triple buffering gave you a head-start with drawing the frame in C.<p>Going further, if you complete the frame in C still before the A/B switch has happened, you queue up C as the next frame, instead of B. Then, you can start working on the next frame again in B. With this scheme, there is no sense in having more buffers than three.</p>
]]></description><pubDate>Wed, 19 Mar 2025 08:29:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43409440</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=43409440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43409440</guid></item><item><title><![CDATA[New comment by maggit in "Iterated Log Coding"]]></title><description><![CDATA[
<p>Exact integers doesn't seem to be its strong suite. Can it even represent 3 exactly?<p>Running code from the linked notebook (<a href="https://github.com/AdamScherlis/notebooks-python/blob/main/math/iterlog_coding.ipynb">https://github.com/AdamScherlis/notebooks-python/blob/main/m...</a>), I can see that a 32 bit representation of the number 3 decodes to the following float: 2.999999983422908<p>(This is from running `decode(encode(3, 32))`)</p>
]]></description><pubDate>Wed, 26 Feb 2025 10:59:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=43182618</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=43182618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43182618</guid></item><item><title><![CDATA[New comment by maggit in "Iterated Log Coding"]]></title><description><![CDATA[
<p>That's true for normal binary encoding of integers, but I think we should understand the question in context of the post: What's the number of bits required in iterated log coding?</p>
]]></description><pubDate>Wed, 26 Feb 2025 09:07:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43182081</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=43182081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43182081</guid></item><item><title><![CDATA[New comment by maggit in "Iterated Log Coding"]]></title><description><![CDATA[
<p>Cute! I wonder if it would be amenable for use as a variable-width encoding for, say, DCT coefficients in a JPEG-like codec..?</p>
]]></description><pubDate>Wed, 26 Feb 2025 08:18:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43181809</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=43181809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43181809</guid></item><item><title><![CDATA[New comment by maggit in "Understanding and avoiding visually ambiguous characters in IDs"]]></title><description><![CDATA[
<p>I have realized that there is a big design space here, as I recently did a write-up of my take, Id30. 30 bits of information encoded base 32 into six chars, eg bpv3uq, zvaec2 or rfmbyz, with some handling of ambiguous chars on decoding.<p><a href="https://magnushoff.com/blog/id30/" rel="nofollow">https://magnushoff.com/blog/id30/</a></p>
]]></description><pubDate>Tue, 23 Apr 2024 07:50:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40129577</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=40129577</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40129577</guid></item><item><title><![CDATA[Id30: Humanized IDs for URLs and More]]></title><description><![CDATA[
<p>Article URL: <a href="https://magnushoff.com/blog/id30/">https://magnushoff.com/blog/id30/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40112722">https://news.ycombinator.com/item?id=40112722</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 22 Apr 2024 09:39:06 +0000</pubDate><link>https://magnushoff.com/blog/id30/</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=40112722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40112722</guid></item><item><title><![CDATA[Id30: An Identifier Scheme for URLs]]></title><description><![CDATA[
<p>Article URL: <a href="https://magnushoff.com/blog/id30/">https://magnushoff.com/blog/id30/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39999957">https://news.ycombinator.com/item?id=39999957</a></p>
<p>Points: 6</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 11 Apr 2024 08:55:01 +0000</pubDate><link>https://magnushoff.com/blog/id30/</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=39999957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39999957</guid></item><item><title><![CDATA[New comment by maggit in "The story of ispc: origins (part 1) (2018)"]]></title><description><![CDATA[
<p>There's 12 parts to this in total:<p>1. <a href="https://pharr.org/matt/blog/2018/04/18/ispc-origins" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/18/ispc-origins</a><p>2. <a href="https://pharr.org/matt/blog/2018/04/19/ispc-volta-is-born" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/19/ispc-volta-is-born</a><p>3. <a href="https://pharr.org/matt/blog/2018/04/20/ispc-volta-going-all-in" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/20/ispc-volta-going-all-...</a><p>4. <a href="https://pharr.org/matt/blog/2018/04/21/ispc-volta-c-and-spmd" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/21/ispc-volta-c-and-spmd</a><p>5. <a href="https://pharr.org/matt/blog/2018/04/22/ispc-volta-first-results" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/22/ispc-volta-first-resu...</a><p>6. <a href="https://pharr.org/matt/blog/2018/04/23/ispc-volta-users-and-ooo" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/23/ispc-volta-users-and-...</a><p>7. <a href="https://pharr.org/matt/blog/2018/04/25/ispc-volta-avx" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/25/ispc-volta-avx</a><p>8. <a href="https://pharr.org/matt/blog/2018/04/26/ispc-volta-more-on-performance" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/26/ispc-volta-more-on-pe...</a><p>9. <a href="https://pharr.org/matt/blog/2018/04/27/ispc-volta-open-source" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/27/ispc-volta-open-sourc...</a><p>10. <a href="https://pharr.org/matt/blog/2018/04/28/ispc-talks-and-departure" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/28/ispc-talks-and-depart...</a><p>11. <a href="https://pharr.org/matt/blog/2018/04/29/ispc-retrospective" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/29/ispc-retrospective</a><p>12. <a href="https://pharr.org/matt/blog/2018/04/30/ispc-fin" rel="nofollow noreferrer">https://pharr.org/matt/blog/2018/04/30/ispc-fin</a></p>
]]></description><pubDate>Tue, 17 Oct 2023 07:36:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=37911727</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=37911727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37911727</guid></item><item><title><![CDATA[New comment by maggit in "macOS Containers v0.0.1"]]></title><description><![CDATA[
<p>"System Integrity Protection (SIP)" seems to be the correct name here, for anyone as confused as me :)<p>(More details here: <a href="https://support.apple.com/en-us/102149" rel="nofollow noreferrer">https://support.apple.com/en-us/102149</a> )</p>
]]></description><pubDate>Tue, 26 Sep 2023 08:14:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=37656057</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=37656057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37656057</guid></item><item><title><![CDATA[New comment by maggit in "Noclip.website: A digital museum of video game levels"]]></title><description><![CDATA[
<p>Ah! That's what got me. Private mode is my default. I can confirm that I get it working in Firefox outside of private mode. Thanks :)</p>
]]></description><pubDate>Tue, 08 Aug 2023 20:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=37055072</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=37055072</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37055072</guid></item><item><title><![CDATA[New comment by maggit in "Noclip.website: A digital museum of video game levels"]]></title><description><![CDATA[
<p>Same experience with Firefox, seems to require Chrome. There is a security-related error in the console.</p>
]]></description><pubDate>Tue, 08 Aug 2023 13:31:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=37048702</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=37048702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37048702</guid></item><item><title><![CDATA[New comment by maggit in "Linux kernel VP9 codec V4L2 control interface"]]></title><description><![CDATA[
<p>It looks like it implements hardware acceleration of the VP9 codec for some specific hardware (Rockchip VDEC and Hantro G2). This opens up playing, for example, lots of YouTube videos with less CPU usage on devices with that hardware. I can't comment on whether or not it "took so long" as I have no idea which hardware this is.<p>The title makes it out to be something fundamental in Linux, but this is just one driver becoming more complete.</p>
]]></description><pubDate>Tue, 14 Sep 2021 17:40:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=28528104</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=28528104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28528104</guid></item><item><title><![CDATA[New comment by maggit in "Show HN: Yarr – Yet Another RSS Reader"]]></title><description><![CDATA[
<p>I, too, would have appreciated slightly more documentation. Here are two questions I had, and what I figured out.<p>Many RSS readers are stand-alone GUI applications. I would have appreciated an up-front notice that this is a hosted solution. (Which is what I am looking for. I'd like the same view of what's read and unread on my different devices, thank you)<p>Different RSS readers use different storage backends. I dug through your code, and it seems to use SQLite, which is exactly what I hoped for. It's a huge difference in deployment and system administration headaches whether it uses an embedded or a hosted database.<p>Looks interesting! I'd also appreciate a prebuilt binary for Linux, but I understand that it's still early days. Paying attention :)</p>
]]></description><pubDate>Mon, 14 Sep 2020 18:28:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=24473424</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=24473424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24473424</guid></item><item><title><![CDATA[New comment by maggit in "Memories – 256 bytes demo winner of Revision 2020"]]></title><description><![CDATA[
<p>I haven't had a look at the source code for this, but I expect that it syncs with the screen refresh rate.</p>
]]></description><pubDate>Tue, 28 Apr 2020 05:17:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=23003649</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=23003649</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23003649</guid></item><item><title><![CDATA[New comment by maggit in "How to manage HTML DOM with vanilla JavaScript only?"]]></title><description><![CDATA[
<p>I recently did a write-up of my experience with writing maintainable code with vanilla JS: <a href="https://magnushoff.com/blog/dependency-free-javascript/" rel="nofollow">https://magnushoff.com/blog/dependency-free-javascript/</a><p>I am a huge fan of React for the maintainability of the resulting code, and this was my attempt to regain some of that without the dependency.</p>
]]></description><pubDate>Thu, 02 Apr 2020 18:08:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=22761814</link><dc:creator>maggit</dc:creator><comments>https://news.ycombinator.com/item?id=22761814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22761814</guid></item></channel></rss>