<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: _jackdk_</title><link>https://news.ycombinator.com/user?id=_jackdk_</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 31 Aug 2026 08:16:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=_jackdk_" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by _jackdk_ in "“I just chose words carefully”"]]></title><description><![CDATA[
<p>I did, yes. A but ironic indeed.</p>
]]></description><pubDate>Mon, 31 Aug 2026 04:05:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49505440</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49505440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49505440</guid></item><item><title><![CDATA[New comment by _jackdk_ in "“I just chose words carefully”"]]></title><description><![CDATA[
<p>I wonder if at any point during writing, the heroic author of that Super Metroid guide learned that "missiles" are not spent "missles", and decided to own the mistake rather than reword the entire guide.<p>Also, the font used for the monospace examples in the post is a great kick to the nostalgia. Which one is it? It reminds me of <a href="https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_9x16" rel="nofollow">https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_...</a></p>
]]></description><pubDate>Sun, 30 Aug 2026 23:43:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49503966</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49503966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49503966</guid></item><item><title><![CDATA[New comment by _jackdk_ in "We found a division by zero bug in FFmpeg with a vibecoded fuzzer"]]></title><description><![CDATA[
<p>The blog link I mentioned avoids this cost with literals, by providing using a required type argument to check the string length at compile time without TH. It requires a relatively recent GHC:<p><pre><code>    make :: forall symbol -> (IsNonEmptySymbol symbol) => NonEmptyText

    type family IsNonEmptySymbol symbol :: Constraint where
      IsNonEmptySymbol "" = Unsatisfiable (Text "Expected a non-empty string")
      IsNonEmptySymbol _ = (()::Constraint) -- empty constraint is always satisfied</code></pre></p>
]]></description><pubDate>Fri, 28 Aug 2026 00:51:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49473131</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49473131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49473131</guid></item><item><title><![CDATA[New comment by _jackdk_ in "We found a division by zero bug in FFmpeg with a vibecoded fuzzer"]]></title><description><![CDATA[
<p>Liquid Haskell might require you to prove that the divisor is nonzero, but even in standard Haskell there's common idioms for ensuring that a list is non-empty (data NonEmpty a = a :| [a]) or that text is non-empty (newtype NonEmptyText = NonEmptyText Text, with non-exported constructor, helpers like make :: Text -> NonEmptyText, or more advanced tricks like <a href="https://exploring-better-ways.bellroy.com/haskell-koan-type-checked-non-empty-strings.html" rel="nofollow">https://exploring-better-ways.bellroy.com/haskell-koan-type-...</a> ).<p>The big problem preventing this approach from working for numbers is that it's just so cumbersome there. Most of this is because all the arithmetic operators are bundled into a single Num typeclass, and `fromInteger :: Num a => Integer -> a` has a type that's impossible for a "non-zero number" wrapper to satisfy.</p>
]]></description><pubDate>Thu, 27 Aug 2026 21:02:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49471222</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49471222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49471222</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Mold: A Massively Parallel Linker"]]></title><description><![CDATA[
<p>Given the passing of nitter, xcancel, etc., thank you for quoting the relevant text.</p>
]]></description><pubDate>Thu, 27 Aug 2026 03:15:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49459178</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49459178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49459178</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Fixing a bricked Framework laptop"]]></title><description><![CDATA[
<p>It helped that Apple had a page for their statutory warranty in AU, so I could point to the sticker price of both machines and say "look, Apple acknowledges the consumer guarantee for at least 24 months after purchase and possibly longer, and I have paid a similar amount of money for a Framework".<p><a href="https://www.apple.com/legal/warranty/docs/statutory_warranty-au.pdf" rel="nofollow">https://www.apple.com/legal/warranty/docs/statutory_warranty...</a> (Page 2):<p>> Without limiting consumers rights, Apple will provide its own remedies equivalent to those remedies in the consumer guarantee provisions of the Australian Consumer Law at any time within 24 months of the date of purchase. For the avoidance of doubt, Apple acknowledges that the Australian Consumer Law may provide for remedies beyond 24 months for a number of its products.</p>
]]></description><pubDate>Wed, 19 Aug 2026 07:13:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49358014</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49358014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49358014</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Finger: the 1971 social network that never died"]]></title><description><![CDATA[
<p>What fun. War stories like this are what keep me coming back to HN.</p>
]]></description><pubDate>Wed, 19 Aug 2026 07:09:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49357991</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49357991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49357991</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Fixing a bricked Framework laptop"]]></title><description><![CDATA[
<p>Yeah, the ACL is fantastic. I have an AMD Framework 13 that had a fan bearing fail, which caused the fan to scream and spin up/down erratically. I had a long back-and-forth with Framwework support where they told me what I already knew (the fan bearing failed and the fan needed replacing) and that it was out of warranty (yeah nah, not in Australia). As soon as I mentioned the consumer guarantees under the ACL, I was invited to remove the SSD and ship the unit to their service centre for a fix.<p>The machine has been fine since and I still really like it.</p>
]]></description><pubDate>Wed, 19 Aug 2026 02:29:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=49355856</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49355856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49355856</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Donkey.bas is 45 Years Old – 131 line of Glory"]]></title><description><![CDATA[
<p>The 8088 MPH demo, for example, pushed the PC Speaker pretty far: <a href="https://www.youtube.com/watch?v=yHXx3orN35Y" rel="nofollow">https://www.youtube.com/watch?v=yHXx3orN35Y</a></p>
]]></description><pubDate>Fri, 14 Aug 2026 02:30:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49294162</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49294162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49294162</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Why Target Common Lisp for Code Generation?"]]></title><description><![CDATA[
<p>I haven't seen a <a href="https://wiki.c2.com/?SmugLispWeenie" rel="nofollow">https://wiki.c2.com/?SmugLispWeenie</a> in the wild for a very long time. I thought they'd all gone extinct!</p>
]]></description><pubDate>Thu, 13 Aug 2026 02:23:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=49281131</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49281131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49281131</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Fastmail offers EU data region"]]></title><description><![CDATA[
<p>Because Fastmail is one of the relatively rare non-American companies that's managed to get a good position in a challenging market. The UK's "Snooper's Charter" also has a mechanism to send Technical Capability Notices that require tech companies to build things to spy on their users.</p>
]]></description><pubDate>Sun, 09 Aug 2026 06:39:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=49228975</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49228975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49228975</guid></item><item><title><![CDATA[New comment by _jackdk_ in "EU Age Verification Project Mandates Hardware-Bound Attestation"]]></title><description><![CDATA[
<p>And how, exactly, will one acquire this "full EU Digital Identity Wallet"? Will I be able to compile it from source and run it on a computing device of my own choosing?</p>
]]></description><pubDate>Sun, 02 Aug 2026 23:05:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49149327</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49149327</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49149327</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Htmx 4.0, the first JavaScript library to release exclusively on the Game Boy"]]></title><description><![CDATA[
<p>Thanks for replying, that's an interesting architecture. The idea of using a high-up parallel state seems particularly neat as a way to ensure every part of the page render stays independent, and to burst up the compute serving the response.</p>
]]></description><pubDate>Mon, 27 Jul 2026 00:41:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=49063886</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49063886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49063886</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Htmx 4.0, the first JavaScript library to release exclusively on the Game Boy"]]></title><description><![CDATA[
<p>That is not a use cases I would've expected Step Functions to handle; I'm intrigued. You're using express ones, I assume, but how are you wiring them up and why?</p>
]]></description><pubDate>Sun, 26 Jul 2026 22:33:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49063109</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49063109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49063109</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Everyone should know SIMD"]]></title><description><![CDATA[
<p>Single Instruction, Multiple Data.</p>
]]></description><pubDate>Thu, 23 Jul 2026 04:45:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49017045</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49017045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49017045</guid></item><item><title><![CDATA[New comment by _jackdk_ in "[dead]"]]></title><description><![CDATA[
<p>So did consumer advocacy sites; this one is slop.</p>
]]></description><pubDate>Wed, 22 Jul 2026 23:16:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49014787</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=49014787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49014787</guid></item><item><title><![CDATA[New comment by _jackdk_ in "CD sales growth outpaced vinyl in the first half of 2026"]]></title><description><![CDATA[
<p>Perhaps coincidentally, it was also around the same brief beautiful moment in time where one could talk with all of one's friends using a single messaging client, possibly even over federated XMPP.</p>
]]></description><pubDate>Fri, 17 Jul 2026 07:49:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48944439</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=48944439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48944439</guid></item><item><title><![CDATA[New comment by _jackdk_ in "Kimi K3: Open Frontier Intelligence"]]></title><description><![CDATA[
<p>How much do we trust those guarantees? Apple currently alleges that OpenAI employees have been stealing Apple's trade secrets: <a href="https://9to5mac.com/2026/07/10/apple-sues-openai-trade-secret-theft/" rel="nofollow">https://9to5mac.com/2026/07/10/apple-sues-openai-trade-secre...</a><p>> [Mr. Tan] has directed job candidates still working for Apple to bring “Actual parts” from Apple to their interviews for “show and tell” sessions in which he and his team at OpenAI can elicit still more Apple confidential information.<p>> As part of its investigation, Apple found a “pattern by employees who depart for OpenAI of taking steps to evade the security processes intended to protect Apple’s confidential information.”<p>> Apple also claims former engineer Liu exploited a security bug to download confidential engineering files after leaving the company. Rather than report the exploit, Liu allegedly joked about it in messages (“LOL,” “so funny”). Liu also failed to return an Apple-issued laptop after his departure.<p>This seems pretty close to "they trust me, dumb fucks" behaviour.</p>
]]></description><pubDate>Thu, 16 Jul 2026 23:37:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48941701</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=48941701</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48941701</guid></item><item><title><![CDATA[New comment by _jackdk_ in "I'm a USB-C Maximalist"]]></title><description><![CDATA[
<p>USB-C maximalism is great for travel. I personally recommend travelling with a USB-C <i>desktop</i> charger, but use one that accepts a IEC C7 ("figure-8") cable. Then, travel with only the cable corresponding to your destination (or buy one when you get there). That avoids having a wall wart that might not fit in narrow spaces, or whose weight might make it fall out of older sockets.<p>I wrote about it a few years ago; the post does <i>not</i> have affiliate links: <a href="http://jackkelly.name/blog/archives/2024/10/06/travel_tip_usb-c_desktop_chargers/index.html" rel="nofollow">http://jackkelly.name/blog/archives/2024/10/06/travel_tip_us...</a></p>
]]></description><pubDate>Wed, 15 Jul 2026 01:58:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48915354</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=48915354</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48915354</guid></item><item><title><![CDATA[New comment by _jackdk_ in "A global workspace in language models"]]></title><description><![CDATA[
<p>This is also something to be aware of when teaching people, too. I've seen advice for designing Anki-style flashcard decks that reminds people to create flashcards for both A->B and B->A.</p>
]]></description><pubDate>Mon, 06 Jul 2026 23:13:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48811699</link><dc:creator>_jackdk_</dc:creator><comments>https://news.ycombinator.com/item?id=48811699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48811699</guid></item></channel></rss>