<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: sethaurus</title><link>https://news.ycombinator.com/user?id=sethaurus</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 07:53:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sethaurus" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sethaurus in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>I'm sure the browser <i>does</i> do that, and plenty of other optimisations too!<p>This thing isn't trying to do standard text layout faster than the browser, it's trying to enable more exotic/dynamic/custom layouts while keeping reasonable performance. Take a look at the demos linked in the repo's readme; those are things which the browser's layout engine can't do on its own.</p>
]]></description><pubDate>Tue, 31 Mar 2026 14:02:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587559</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47587559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587559</guid></item><item><title><![CDATA[New comment by sethaurus in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>What you're missing is that each segment (typically a word) only needs to be measured once, in the setup phase. The canvas gets thrown away after that, and subsequent layout passes all reuse the cached measurements.<p>If you only perform layout once, it doesn't save any work. If you need to reflow many times, it saves a lot.</p>
]]></description><pubDate>Mon, 30 Mar 2026 09:51:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47572348</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47572348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47572348</guid></item><item><title><![CDATA[New comment by sethaurus in "Supreme Court Sides with Cox in Copyright Fight over Pirated Music"]]></title><description><![CDATA[
<p>It's a matter of integrity. Support or oppose whoever you like, but if you change your principles based on the person in question, then you don't have principles at all.</p>
]]></description><pubDate>Thu, 26 Mar 2026 16:15:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47532345</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47532345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47532345</guid></item><item><title><![CDATA[New comment by sethaurus in "The Story of Marina Abramovic and Ulay (2020)"]]></title><description><![CDATA[
<p>I saw a docco about her and found it entertaining and interesting. I haven't seen her work in person, have you?</p>
]]></description><pubDate>Sun, 22 Mar 2026 05:07:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47474655</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47474655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47474655</guid></item><item><title><![CDATA[New comment by sethaurus in "The Story of Marina Abramovic and Ulay (2020)"]]></title><description><![CDATA[
<p>The world became a much more fun and interesting place for me when I stopped rejecting things on the basis of cringe.</p>
]]></description><pubDate>Sat, 21 Mar 2026 23:46:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47472784</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47472784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47472784</guid></item><item><title><![CDATA[New comment by sethaurus in "US Court of Appeals: TOS may be updated by email, use can imply consent [pdf]"]]></title><description><![CDATA[
<p>> <i>Or do they tag things and say "Customer X signed up on this date, so he is bound by T&C number 12, whereas this other customer signed up a year later and is bound by T&C number 13". That seems unwieldy since there is a common infrastructure.</i><p>If the company would like their T&C to carry the force of a binding contract upon me, then yes, keeping track of my agreement seems like the <i>absolute bare minimum they must do</i>.<p>Either these things are real contracts or they are not. The idea that it's too onerous for a company to keep track of its contractual agreements is absurd. That's giving them all the benefits of a real contract with none of the obligations.</p>
]]></description><pubDate>Mon, 09 Mar 2026 12:59:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47308455</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47308455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47308455</guid></item><item><title><![CDATA[New comment by sethaurus in "The Xkcd thing, now interactive"]]></title><description><![CDATA[
<p>That's what it would mean to place them above unpaid developers in the illustration, yes.</p>
]]></description><pubDate>Tue, 03 Mar 2026 18:36:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47236718</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47236718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47236718</guid></item><item><title><![CDATA[New comment by sethaurus in "I found a vulnerability. they found a lawyer"]]></title><description><![CDATA[
<p>For anyone seeking more details on this act, it is embodied as "18 U.S. Code §1030 - Fraud and related activity in connection with computers"[0], and applies specifically to the United States of America, a nation not involved in any way with this incident.<p>[0]: <a href="https://www.law.cornell.edu/uscode/text/18/1030" rel="nofollow">https://www.law.cornell.edu/uscode/text/18/1030</a></p>
]]></description><pubDate>Sat, 21 Feb 2026 14:42:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47101279</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=47101279</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47101279</guid></item><item><title><![CDATA[New comment by sethaurus in "Gas Town's agent patterns, design bottlenecks, and vibecoding at scale"]]></title><description><![CDATA[
<p>Thrilled to see someone else using a triple-em dash in the wild⸻keep holding the line.</p>
]]></description><pubDate>Sat, 24 Jan 2026 04:27:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46741060</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46741060</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46741060</guid></item><item><title><![CDATA[New comment by sethaurus in "jQuery 4"]]></title><description><![CDATA[
<p>Upload progress. The Fetch API offers no way observe and display progress when uploading a file (or making any large request). jQuery makes this possible via the `xhr` callback.</p>
]]></description><pubDate>Sun, 18 Jan 2026 13:41:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46667747</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46667747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46667747</guid></item><item><title><![CDATA[New comment by sethaurus in "Just the Browser"]]></title><description><![CDATA[
<p>It's silly to treat this like a totalizing partisan issue where everything must be clearly "pro-ai" or "anti-ai".<p>Browsers are currently incentivised to add a bunch of new features outside their traditional role. Some people prefer to keep the browser's role simple. It's not ideological and it's not "hating".</p>
]]></description><pubDate>Fri, 16 Jan 2026 13:56:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46646369</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46646369</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46646369</guid></item><item><title><![CDATA[Bincode development has ceased permanently]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reddit.com/r/rust/s/PIViq3pyNC">https://www.reddit.com/r/rust/s/PIViq3pyNC</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46289881">https://news.ycombinator.com/item?id=46289881</a></p>
<p>Points: 4</p>
<p># Comments: 3</p>
]]></description><pubDate>Tue, 16 Dec 2025 15:39:02 +0000</pubDate><link>https://www.reddit.com/r/rust/s/PIViq3pyNC</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46289881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46289881</guid></item><item><title><![CDATA[New comment by sethaurus in "JSDoc is TypeScript"]]></title><description><![CDATA[
<p>It doesn't matter if a library is written in TS or JS; you cannot meaningfully protect against other code calling you incorrectly.<p>Sure, you can check if they gave you a string instead of a number. But if you receive an array of nested objects, are you going to traverse the whole graph and check every property? If the caller gives you a callback, do you check if it returns the correct value? If that callback itself returns a function, do you check that function's return type too? And will you check these things at every single function boundary?<p>This kind of paranoid runtime type-checking would completely dominate the code, and nobody does it. Many invariants which exist at compile-time cannot be meaningfully checked at runtime, even if you wanted to. All you can do is offer a type-safe interface, trust your callers to respect it, and check for a few common mistakes at the boundary. You cannot protect your code against other code calling it incorrectly, and in practice nobody does. This is equally true for JS and TS.</p>
]]></description><pubDate>Sun, 14 Dec 2025 23:03:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46268059</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46268059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46268059</guid></item><item><title><![CDATA[New comment by sethaurus in "Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem"]]></title><description><![CDATA[
<p>Do you really mean this literally? Even the Linux kernel contains tens of thousands of lines of Python, and more lines of shell. Is that undesirable?</p>
]]></description><pubDate>Sun, 14 Dec 2025 22:38:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46267873</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46267873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46267873</guid></item><item><title><![CDATA[New comment by sethaurus in "Dhtml Lemmings (2004)"]]></title><description><![CDATA[
<p>Coming from an era of tiles and sprites, Lemmings was exciting because it had real destructible terrain. The game action happens in its pixel buffer, and every little speck of dirt can make a difference to how the characters behave.<p>When I saw this adaptation back in 2004, I was amazed because the web didn't even HAVE an API for its pixel buffer; the canvas element didn't arrive until a year later! All the destructible/buildable terrain here is faked out with stacked `img` elements. They had to simulate a simple form of graphics with a more complex one, because that's all the platform made available.<p>It's very good.</p>
]]></description><pubDate>Sun, 14 Dec 2025 14:37:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46263316</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46263316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46263316</guid></item><item><title><![CDATA[New comment by sethaurus in "4 billion if statements (2023)"]]></title><description><![CDATA[
<p>Why do they call it even when you of in the true number of out false odd the number?</p>
]]></description><pubDate>Fri, 12 Dec 2025 13:09:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46243782</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46243782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46243782</guid></item><item><title><![CDATA[New comment by sethaurus in "1D Conway's Life glider found, 3.7B cells long"]]></title><description><![CDATA[
<p>Oh my god, it's a Quine!<p>This is a linear sequence of bits, which when interpreted as a Game of Life board, "prints" an exact copy of itself 2 pixels to the right (leaving no trace of the original).<p>I suppose its job would be easier if it only had to construct a copy of itself rather than "moving" itself, but I enjoy the interpretation that it's a linear "tape" of bits which prints its own code transposed by 2 pixels, and takes an unfathomable amount of time and space to do so. Beautiful.</p>
]]></description><pubDate>Thu, 04 Dec 2025 07:09:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46144670</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46144670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46144670</guid></item><item><title><![CDATA[New comment by sethaurus in "A programmer-friendly I/O abstraction over io_uring and kqueue (2022)"]]></title><description><![CDATA[
<p>> I’m curious, how do you know it was inspired by tiger beetles impl?<p>Describing its design, the readme for libxev says "credit to this awesome blog post" and links to the same Tigerbeetle post in this submission.</p>
]]></description><pubDate>Fri, 28 Nov 2025 23:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46083632</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46083632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46083632</guid></item><item><title><![CDATA[New comment by sethaurus in "Show HN: KiDoom – Running DOOM on PCB Traces"]]></title><description><![CDATA[
<p>This is a little different from most "Doom on X" projects, because the accomplishment is less about the hardware (it's just a normal computer) and more about turning a circuit-board designer into a real-time game display.</p>
]]></description><pubDate>Wed, 26 Nov 2025 02:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46053447</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46053447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46053447</guid></item><item><title><![CDATA[New comment by sethaurus in "The realities of being a pop star"]]></title><description><![CDATA[
<p>> <i>Actually, as I'm writing this, I realized that probably the music being produced by this person is actually done by a computer. So, maybe she's in the first wave of totally artificial pop stars.</i><p>Her main collaborator, co-creator and producer of many years is the artist AG Cook, who founded the label PC Music. He appears often in her music videos and gets mentioned in her lyrics. His own solo work plays a lot with pairing the artificial and the organic, taking the "slick" aesthetics of electronic pop to abrasive extremes and placing it next to vulnerability and gentleness.<p>This is my favourite piece of his work (both the song and the video): <a href="https://www.youtube.com/watch?v=kH2wQ5speuU" rel="nofollow">https://www.youtube.com/watch?v=kH2wQ5speuU</a><p>Charli's work or his might not suit your taste! But these are real people doing interesting stuff and playing with the form. It's not fake.</p>
]]></description><pubDate>Sun, 23 Nov 2025 12:47:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46023152</link><dc:creator>sethaurus</dc:creator><comments>https://news.ycombinator.com/item?id=46023152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46023152</guid></item></channel></rss>