<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: btdmaster</title><link>https://news.ycombinator.com/user?id=btdmaster</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Apr 2026 08:42:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=btdmaster" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by btdmaster in "A cryptography engineer's perspective on quantum computing timelines"]]></title><description><![CDATA[
<p>> Thus succeeding at making the telecommunications vendors used for Top Secret US national security data less secure, the obvious goal of the US National Security Agency, and the only reason they wouldn't use the better cryptography designed by Dr. Bernstein. /s<p>I guess the NSA thinks they're the only one that can target such a side channel, unlike, say, a foreign government, which doesn't have access to the US Internet backbone, doesn't have as good mathematicians or programmers (in NSA opinion), etc.<p>> Timing side channels don't matter to ephemeral ML-KEM key exchanges, by the way. It's really hard to implement ML-KEM wrong. It's way easier to implement ECDH wrong, and remember that in this hypothetical you need to compare to P-256, not X25519, because US regulation compliance is the premise.<p>Except for KyberSlash (I was surprised when I looked at the bug's code, it's written very optimistically wrt what the compiler would produce...)<p>So do you think vendors will write good code within the deadlines between now and... 2029? I wouldn't bet my state secrets on that...</p>
]]></description><pubDate>Mon, 06 Apr 2026 23:09:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47668589</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=47668589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47668589</guid></item><item><title><![CDATA[New comment by btdmaster in "A cryptography engineer's perspective on quantum computing timelines"]]></title><description><![CDATA[
<p>> “Doesn’t the NSA lie to break our encryption?” No, the NSA has never intentionally jeopardized US national security with a non-NOBUS backdoor, and there is no way for ML-KEM and ML-DSA to hide a NOBUS backdoor.<p>The most concrete issue for me, as highlighted by djb, is that when the NSA insists against hybrids, vendors like telecommunications companies will handwrite poor implementations of ML-KEM to save memory/CPU time etc. for their constrained hardware that will have stacks of timing side channels for the NSA to break. Meanwhile X25519 has standard implementations that don't have such issues already deployed, which the NSA presumably cannot break (without spending $millions per key with a hypothetical quantum attack, a lot more expensive than side channels).</p>
]]></description><pubDate>Mon, 06 Apr 2026 21:39:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47667542</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=47667542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47667542</guid></item><item><title><![CDATA[New comment by btdmaster in "Show HN: Gecit – DPI bypass using eBPF sock_ops, no proxy or VPN"]]></title><description><![CDATA[
<p>That's so cool.<p>This is interestingly very similar to domain fronting, except in this case the server doesn't need to work around it because it will still see the correct SNI.<p>Do DPI servers in your experience only check the first SNI packet for a given connection?</p>
]]></description><pubDate>Sun, 05 Apr 2026 21:39:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47654144</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=47654144</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47654144</guid></item><item><title><![CDATA[New comment by btdmaster in "Show HN: X86CSS – An x86 CPU emulator written in CSS"]]></title><description><![CDATA[
<p>Very cool. The horsle demo made me think, how hard would it be to add a virtual memory address (or a non-8086 RAND instruction) that returns a random byte (that would allow it to pick a random value and get a standard wordle working in principle)<p>I see CSS random() is only supported by Safari, I wonder if there's some side channel that would work in Chrome specifically? (I guess timing the user input would work)</p>
]]></description><pubDate>Tue, 24 Feb 2026 12:10:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47136137</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=47136137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47136137</guid></item><item><title><![CDATA[New comment by btdmaster in "Both GCC and Clang generate strange/inefficient code"]]></title><description><![CDATA[
<p>It emits a cmp/jmp still when arithmetic would be fine though which is the difference highlighted in the article and examples in this thread. It's nice that it simplifies down to assembly, but the assembly is somewhat questionable (especially that xor eax eax branch target on the other side).</p>
]]></description><pubDate>Wed, 11 Feb 2026 19:23:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46979535</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46979535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46979535</guid></item><item><title><![CDATA[New comment by btdmaster in "Both GCC and Clang generate strange/inefficient code"]]></title><description><![CDATA[
<p>I see yeah that makes sense. I wanted to highlight that "magic" will, on average, give the optimizer a harder time. Explicit offset loops like that are generally avoided in many C++ styles in favor of iterators.</p>
]]></description><pubDate>Wed, 11 Feb 2026 16:11:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46976759</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46976759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46976759</guid></item><item><title><![CDATA[New comment by btdmaster in "Both GCC and Clang generate strange/inefficient code"]]></title><description><![CDATA[
<p>In my experience C++ abstractions give the optimizer a harder job and thus it generates worse code. In this case, different code is emitted by clang if you write a C version[0] versus C++ original[1].<p>Usually abstraction like this means that the compiler has to emit generic code which is then harder to flow through constraints and emit the same final assembly since it's less similar to the "canonical" version of the code that wouldn't use a magic `==` (in this case) or std::vector methods or something else like that.<p>[0] <a href="https://godbolt.org/z/vso7xbh61" rel="nofollow">https://godbolt.org/z/vso7xbh61</a><p>[1] <a href="https://godbolt.org/z/MjcEKd9Tr" rel="nofollow">https://godbolt.org/z/MjcEKd9Tr</a></p>
]]></description><pubDate>Sat, 07 Feb 2026 12:38:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46923382</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46923382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46923382</guid></item><item><title><![CDATA[Stackmaxxing for a recursion world record [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=WQKSyPYF0-Y">https://www.youtube.com/watch?v=WQKSyPYF0-Y</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46758400">https://news.ycombinator.com/item?id=46758400</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 25 Jan 2026 21:24:13 +0000</pubDate><link>https://www.youtube.com/watch?v=WQKSyPYF0-Y</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46758400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46758400</guid></item><item><title><![CDATA[New comment by btdmaster in "Linear Address Spaces: Unsafe at any speed (2022)"]]></title><description><![CDATA[
<p>I think you could argue there is already some effort to do type safety at the ISA register level, with e.g. shadow stack or control flow integrity. Isn't that very similar to this, except targeting program state rather than external memory?</p>
]]></description><pubDate>Sun, 04 Jan 2026 19:47:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46491478</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46491478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46491478</guid></item><item><title><![CDATA[New comment by btdmaster in "Unix v4 (1973) – Live Terminal"]]></title><description><![CDATA[
<p>Everything really is a file: if you do `cat /` you'll get back the internal representation of the directory entries in / (analogous to ls)<p>And they still had coredumps at the time if you press ctrl-\</p>
]]></description><pubDate>Sat, 03 Jan 2026 12:09:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46475662</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46475662</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46475662</guid></item><item><title><![CDATA[New comment by btdmaster in "Assorted less(1) tips"]]></title><description><![CDATA[
<p>You can also press `s` to save data from a pipe to a file rather than manually copy pasting.</p>
]]></description><pubDate>Fri, 02 Jan 2026 15:09:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46465480</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46465480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46465480</guid></item><item><title><![CDATA[Steam Depot Downloader]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/SteamRE/DepotDownloader">https://github.com/SteamRE/DepotDownloader</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46447982">https://news.ycombinator.com/item?id=46447982</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 31 Dec 2025 20:32:27 +0000</pubDate><link>https://github.com/SteamRE/DepotDownloader</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46447982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46447982</guid></item><item><title><![CDATA[Rust–: Rust without the borrow checker]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/buyukakyuz/rustmm">https://github.com/buyukakyuz/rustmm</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46447771">https://news.ycombinator.com/item?id=46447771</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 31 Dec 2025 20:06:59 +0000</pubDate><link>https://github.com/buyukakyuz/rustmm</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46447771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46447771</guid></item><item><title><![CDATA[New comment by btdmaster in "Loss32: Let's Build a Win32/Linux"]]></title><description><![CDATA[
<p>Ah you can use <a href="https://github.com/NixOS/patchelf/pull/564" rel="nofollow">https://github.com/NixOS/patchelf/pull/564</a><p>So you can do e.g. `patchelf --remove-needed-version libm.so.6 GLIBC_2.29 ./mybinary` instead of replacing glibc wholesale (step 2 and 3) and assuming all of used glibc by the executable is ABI compatible this will just work (it's worked for a small binary for me, YMMV).</p>
]]></description><pubDate>Wed, 31 Dec 2025 16:02:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46445314</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46445314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46445314</guid></item><item><title><![CDATA[New comment by btdmaster in "Loss32: Let's Build a Win32/Linux"]]></title><description><![CDATA[
<p>Yes you can do this, thanks for mentioning I was interested and checked how you would go about it.<p>1. Delete the shared symbol versioning as per <a href="https://stackoverflow.com/a/73388939" rel="nofollow">https://stackoverflow.com/a/73388939</a> (patchelf --clear-symbol-version exp mybinary)<p>2. Replace libc.so with a fake library that has the right version symbol with a version script
e.g. version.map
GLIBC_2.29 {
    global:
        *;
};<p>With an empty fake_libc.c
`gcc -shared -fPIC -Wl,--version-script=version.map,-soname,libc.so.6 -o libc.so.6 fake_libc.c`<p>3. Hope that you can still point the symbols back to the real libc (either by writing a giant pile of dlsym C code, or some other way, I'm unclear on this part)<p>Ideally glibc would stop checking the version if it's not actually marked as needed by any symbol, not sure why it doesn't (technically it's the same thing normally, so performance?).</p>
]]></description><pubDate>Wed, 31 Dec 2025 00:15:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46439859</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46439859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46439859</guid></item><item><title><![CDATA[What Happens When All Training Data Is AI Generated? [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=Bs_VjCqyDfU">https://www.youtube.com/watch?v=Bs_VjCqyDfU</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46264811">https://news.ycombinator.com/item?id=46264811</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 14 Dec 2025 17:24:08 +0000</pubDate><link>https://www.youtube.com/watch?v=Bs_VjCqyDfU</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46264811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46264811</guid></item><item><title><![CDATA[New comment by btdmaster in "Valve reveals it’s the architect behind a push to bring Windows games to Arm"]]></title><description><![CDATA[
<p>> When you get into lower power, anything lower than Steam Deck, I think you’ll find that there’s an Arm chip that maybe is competitive with x86 offerings in that segment.<p>At which point does this pay off the emulation overhead? Fex has a lot of work to do to bridge two ISAs while going through the black box of compiler output of assembly, right?</p>
]]></description><pubDate>Thu, 04 Dec 2025 08:56:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46145316</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46145316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46145316</guid></item><item><title><![CDATA[New comment by btdmaster in "Abuse of the nullish coalescing operator in JS/TS"]]></title><description><![CDATA[
<p>See also "Parse, don't validate (2019)" [0]<p>[0] <a href="https://news.ycombinator.com/item?id=41031585">https://news.ycombinator.com/item?id=41031585</a></p>
]]></description><pubDate>Thu, 27 Nov 2025 19:02:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46072259</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=46072259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46072259</guid></item><item><title><![CDATA[Update for NGI Zero Entrust: GNS to DNS Migration]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.gnunet.org/en/news/2025-08-NGI-Entrust-GNS-TLDs-Update.html">https://www.gnunet.org/en/news/2025-08-NGI-Entrust-GNS-TLDs-Update.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45307755">https://news.ycombinator.com/item?id=45307755</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 19 Sep 2025 22:57:36 +0000</pubDate><link>https://www.gnunet.org/en/news/2025-08-NGI-Entrust-GNS-TLDs-Update.html</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=45307755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45307755</guid></item><item><title><![CDATA[New comment by btdmaster in "Speech Enhancement Mamba"]]></title><description><![CDATA[
<p>SEMamba is a speech enhancement model to denoise speech.<p>Demo: <a href="https://roychao19477.github.io/speech-enhancement-demo-2024/" rel="nofollow">https://roychao19477.github.io/speech-enhancement-demo-2024/</a><p>Try it: <a href="https://huggingface.co/spaces/rc19477/Speech_Enhancement_Mamba" rel="nofollow">https://huggingface.co/spaces/rc19477/Speech_Enhancement_Mam...</a></p>
]]></description><pubDate>Sat, 06 Sep 2025 22:53:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45153656</link><dc:creator>btdmaster</dc:creator><comments>https://news.ycombinator.com/item?id=45153656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45153656</guid></item></channel></rss>