<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: thequux</title><link>https://news.ycombinator.com/user?id=thequux</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 10:45:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thequux" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thequux in "Chopped, Stored, Secured – The Story of the Hash Function"]]></title><description><![CDATA[
<p>I can't judge the veracity of the history of hash functions, but the moment it starts talking about cryptography it goes completely off the rails: it seems to indicate that finite field exponentiation o'r high degree polynomials are used in cryptographic hash functions; they are emphatically not. It presents password hashing as just applying a suggest function to the password; in practice a KDF is used, which is a completely different design space (for a start, KDFs have a tweak parameter, usually called a salt in this context). Finally, there's a haven't reference to quantum computers breaking hash functions and needing post-quantum algorithms as a result. This does brush with reality in that Grover's algorithm does theoretically eat half the first preimage resistance security level of your hash function, but even SHA256 will require 2^128 iterations on a quantum computer, which will likely never be feasible. Worse, it doesn't help at all in attacks against second perimeter resistance or collision resistance.<p>Considering that everything I have personal knowledge of here is obviously bunk, best ignore the rest of it too</p>
]]></description><pubDate>Mon, 15 Jun 2026 00:23:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48534816</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=48534816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48534816</guid></item><item><title><![CDATA[New comment by thequux in "Linux gaming is faster because Windows APIs are becoming Linux kernel features"]]></title><description><![CDATA[
<p>It's been a long time since I've touched any of this, so the details have slipped my mind. However, the general idea was that there were two different exit calls in DOS: terminate and terminate and stay resident. The difference between the two is that the stay resident option wouldn't release the memory used by your application. Further, the interrupt table, which told the processor how to handle each interrupt, was in RAM and therefore writable.<p>So, what TSRs would do is overwrite one or more interrupts to point to a routine that would check if the system call in question was one it wanted to handle (eg, to add a hotkey it would grab the keyboard handler and check for a special set of keys before passing control back to the normal handler). Once that was fine, it would call the TSR system call and control would be passed back to the OS with the hook still in place</p>
]]></description><pubDate>Thu, 14 May 2026 09:44:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48133137</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=48133137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48133137</guid></item><item><title><![CDATA[New comment by thequux in "dBase: 1979-2026"]]></title><description><![CDATA[
<p>How do you feel about ADD 5 TO X GIVING X?<p>I kid, of course, but "X is x + 5" brings Prolog to mind with all the unification and bidirectionality that implies.</p>
]]></description><pubDate>Mon, 11 May 2026 22:16:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48101419</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=48101419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48101419</guid></item><item><title><![CDATA[New comment by thequux in "Anna's Archive loses $322M Spotify piracy case without a fight"]]></title><description><![CDATA[
<p>> So I think the following is IMO by far the biggest problem, no matter one's personal opinion:
>
> "Rakoff entered a permanent worldwide injunction covering ten Anna’s Archive domains: annas-archive.org, .li, .se, .in, .pm, .gl, .ch, .pk, .gd, and .vg."<p>Legally speaking, the Southern District of New York can say whatever it likes, and Libera, Sweden, India, St-Pierre-et-Miquelon, Greenland, Switzerland, Pakistan, Grenada, and the British Virgin Islands are free to ignore what the US says. They all have national sovereignty over their respective ccTLDs, and of them, most are not going to simply accept the US telling them what to do considering recent geopolitical missteps.</p>
]]></description><pubDate>Wed, 15 Apr 2026 09:18:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47776619</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=47776619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47776619</guid></item><item><title><![CDATA[New comment by thequux in "How to turn anything into a router"]]></title><description><![CDATA[
<p>NixOS using <a href="https://github.com/thequux/nix-zone-firewall/" rel="nofollow">https://github.com/thequux/nix-zone-firewall/</a> worked well for me for many years. I only stopped using it because my poor embedded Linux machine started having issues and it made more sense to go with a Mikrotik than to buy a new device to run as a soft router.</p>
]]></description><pubDate>Mon, 30 Mar 2026 16:02:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47576019</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=47576019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47576019</guid></item><item><title><![CDATA[New comment by thequux in "Microsoft mishandling example.com"]]></title><description><![CDATA[
<p>$227k just to apply, and another few hundred thousand in legal, compliance, and contracting to reach delegation.<p>Source: I'm on the board of dotMeow and wrote the financial plan</p>
]]></description><pubDate>Fri, 23 Jan 2026 15:19:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46733528</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46733528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46733528</guid></item><item><title><![CDATA[New comment by thequux in "DotMeow – A fun domain with a serious mission"]]></title><description><![CDATA[
<p>Hi! I'm one of the founders of dotMeow, and it's been a long road to get to the point that we're willing to stake our reputations on a crowdfunding campaign. From applying to the applicant support program (we believe we were one of the first, if not <i>the</i> first organization accepted) to working out financial plans and overall strategy to achieve NIS2 compliance on a shoestring budget, it's been a year and a half of effort to reach where we are now.<p>It's quite late here in Belgium, so I'm about to go to sleep, but in the morning, I'll happily answer any questions people have about the project.</p>
]]></description><pubDate>Sun, 21 Dec 2025 02:45:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46341766</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46341766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46341766</guid></item><item><title><![CDATA[New comment by thequux in "DotMeow – A fun domain with a serious mission"]]></title><description><![CDATA[
<p>Do catgirls count? We've got one or two on staff. We'd have a cat, too, if it weren't for the fact that I'm allergic.</p>
]]></description><pubDate>Sun, 21 Dec 2025 02:39:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46341735</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46341735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46341735</guid></item><item><title><![CDATA[New comment by thequux in "DotMeow – A fun domain with a serious mission"]]></title><description><![CDATA[
<p>The sad thing is, this is one of the rhetorical flourishes that gets drilled into you in debate and comms education. ChatGPT picked it up because it's extremely common.</p>
]]></description><pubDate>Sun, 21 Dec 2025 02:38:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46341733</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46341733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46341733</guid></item><item><title><![CDATA[New comment by thequux in "DotMeow – A fun domain with a serious mission"]]></title><description><![CDATA[
<p>A few people have called us on this, but it's simply not true. The copy was all written by hand; the only machine assistance here is XCompose (you, too, can type an em-dash!).<p>It turns out that when everybody involved is some level of techie and you're targeting a sort of "corporate bland" tone so that you look professional and trustworthy by modeling your communications on other successful kickstarters, it comes out looking similar to what other marketing copy looks like, which is <i>precisely</i> what all of the LLMs were trained on.</p>
]]></description><pubDate>Sun, 21 Dec 2025 02:36:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46341724</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46341724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46341724</guid></item><item><title><![CDATA[New comment by thequux in "The Connectivity Standards Alliance Announces Zigbee 4.0 and Suzi"]]></title><description><![CDATA[
<p>As much as I dislike mandatory certification, I can understand the need for it in wireless battery powered devices: a malfunctioning decide can talk the battery life if everything within range, and most consumers aren't equipped to realize that this is happening much less identify the device that's causing the problem<p>Perhaps the solution is to make the spec open but make using the trademark contingent on certification (much like USB, for example)</p>
]]></description><pubDate>Sat, 22 Nov 2025 19:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46017481</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=46017481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46017481</guid></item><item><title><![CDATA[New comment by thequux in "JMAP for Calendars, Contacts and Files Now in Stalwart"]]></title><description><![CDATA[
<p>Ehh, not really. OSI layer 5 was responsible for managing multiple non-overlapping sessions within a single transport stream, and routing those sessions to specific applications. This is precisely what HTTP/1.1 did (though the accept, content-type, accept-encoding, and transfer-encoding headers are really an implementation of layer 6); QUIC, on the other hand, covers the same layers that TCP does (3-5) plus the aforementioned layer 6.<p>I recommend actually reading X.200 (the specification of the OSI model) at some point: it's quite approachable (especially for an ITU spec, which are notoriously dense reading), and will quickly make you realize how silly it is that we still use it as a reference for modern stacks.</p>
]]></description><pubDate>Thu, 23 Oct 2025 14:37:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45682324</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45682324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45682324</guid></item><item><title><![CDATA[New comment by thequux in "Replacing a $3000/mo Heroku bill with a $55/mo server"]]></title><description><![CDATA[
<p>In that case, you don't want cloud; you want an MSP, whose core competence is running those IT services. They, in turn, have the skills to colo a rack at a DC or to manage rented servers, amortized across a number of clients.<p>In practice, there are two situations where cloud makes sense:<p>1. You infrequently need to handle traffic that unpredictably bursts to a large multiple of your baseline. (Consider: you can over provision your baseline infrastructure by an order of magnitude before you reach cloud costs)
2. Your organization is dysfunctional in a way that makes provisioning resources extremely difficult but cloud can provide an end run around that dysfunction.<p>Note that both situations are quite rare.  most industries that handle that sort of large burst are very predictable: event management know when a client will be large and provision ticket sales infra accordingly, e-commerce knows when the big sale days will be, and so on. In the second case, whatever organizational dysfunction caused the cloud to be appealing will likely wrap itself around the cloud initiative as well.</p>
]]></description><pubDate>Wed, 22 Oct 2025 06:32:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45665550</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45665550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45665550</guid></item><item><title><![CDATA[New comment by thequux in "IDEs we had 30 years ago and lost (2023)"]]></title><description><![CDATA[
<p>I recall reading somewhere that the entire point of solitaire (at least the original implementation that came with windows 3) was to teach users how to click and drag, so I'm not surprised that it was good for teaching your colleague how to use a mouse</p>
]]></description><pubDate>Sat, 18 Oct 2025 17:28:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45628977</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45628977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45628977</guid></item><item><title><![CDATA[New comment by thequux in "Ask HN: Abandoned/dead projects you think died before their time and why?"]]></title><description><![CDATA[
<p>OSI's session layer  did very little more than TCP/UDP port numbers; in the OSI model you would open a connection to a machine, then use that connection to open a session to a particular application.<p>X.400 was a nice idea, but the ideal of having a single global directory predates security. I can understand why it never happened<p>On X.509, the spec spends two chapters on attribute certificates, which I've never seen used in the wild. It's a shame; identity certificates do a terrible job at authentication</p>
]]></description><pubDate>Sun, 12 Oct 2025 06:08:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45555689</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45555689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45555689</guid></item><item><title><![CDATA[New comment by thequux in "The Buchstabenmuseum Berlin is closing"]]></title><description><![CDATA[
<p>Alas, the market can remain irrational longer than I can remain solvent.</p>
]]></description><pubDate>Sat, 04 Oct 2025 20:52:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45476595</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45476595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45476595</guid></item><item><title><![CDATA[New comment by thequux in "Athlon 64: How AMD turned the tables on Intel"]]></title><description><![CDATA[
<p>Years ago, I had a CD marked "Windows 2000 for Alpha RC1", which suggests that it was cancelled quite late in the release cycle.</p>
]]></description><pubDate>Fri, 26 Sep 2025 10:15:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45384806</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45384806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45384806</guid></item><item><title><![CDATA[New comment by thequux in "From Rust to reality: The hidden journey of fetch_max"]]></title><description><![CDATA[
<p>I <i>think</i> that this can change the semantics though; with the preceding check you can miss the shared variable being decremented from another thread. In some cases, such as if the shared value is monotonic, this is done, but not in the general case.</p>
]]></description><pubDate>Wed, 24 Sep 2025 05:17:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45356562</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=45356562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45356562</guid></item><item><title><![CDATA[New comment by thequux in "Reverse proxy deep dive"]]></title><description><![CDATA[
<p>If you actually read ITU T-REC X.200, which specifies the OSI model, you'll find that it doesn't match the modern internet at all. E.g., we don't have an OSI-style transport protocol at all (connections themselves aren't addressable independent of the SSAPs), TCP and UDP are actually layer 5, the presentation layer is protocol-specific, and pretty much the entire stack falls to bits if the network layer isn't packet switched.<p>There's a separate term for the bits of the OSI model that are actually relevant; it's called the IETF model.</p>
]]></description><pubDate>Mon, 14 Jul 2025 01:14:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44555436</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=44555436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44555436</guid></item><item><title><![CDATA[New comment by thequux in "Infinite Mac OS X"]]></title><description><![CDATA[
<p>There was an ISA I saw a while back that featured an "enhanced multiply and accumulate signed" instruction, which of course got the mnemonic "EMACS"</p>
]]></description><pubDate>Fri, 20 Jun 2025 08:21:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44325672</link><dc:creator>thequux</dc:creator><comments>https://news.ycombinator.com/item?id=44325672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44325672</guid></item></channel></rss>