<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: Jasper_</title><link>https://news.ycombinator.com/user?id=Jasper_</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 20 Jun 2026 06:47:28 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Jasper_" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Jasper_ in "CVE-2026-31431: Copy Fail vs. rootless containers"]]></title><description><![CDATA[
<p>Blanket blocking socketcall() caused regressions for all 32-bit applications trying to make sockets. In theory, glibc disables socketcall when running on kernel version >= 4.3. In practice, Debian/Fedora/Ubuntu all set glibc's "expected kernel version" to 3.2, so socketcall() is still used on most 32-bit glibc binaries shipped.<p><a href="https://salsa.debian.org/glibc-team/glibc/-/blob/sid/debian/sysdeps/linux.mk#L4" rel="nofollow">https://salsa.debian.org/glibc-team/glibc/-/blob/sid/debian/...</a><p><a href="https://src.fedoraproject.org/rpms/glibc/blob/rawhide/f/glibc.spec#_436" rel="nofollow">https://src.fedoraproject.org/rpms/glibc/blob/rawhide/f/glib...</a></p>
]]></description><pubDate>Tue, 05 May 2026 17:33:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48025776</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=48025776</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48025776</guid></item><item><title><![CDATA[Reverse Engineering Crazy Taxi, Part 1]]></title><description><![CDATA[
<p>Article URL: <a href="https://wretched.computer/post/crazytaxi">https://wretched.computer/post/crazytaxi</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47200286">https://news.ycombinator.com/item?id=47200286</a></p>
<p>Points: 6</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 28 Feb 2026 21:12:18 +0000</pubDate><link>https://wretched.computer/post/crazytaxi</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=47200286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47200286</guid></item><item><title><![CDATA[New comment by Jasper_ in "Noclip.website – A digital museum of video game levels"]]></title><description><![CDATA[
<p>I don't make any efforts to make mobile devices work, since usually their GPUs and drivers are not good enough for this, but PRs and patches are welcome. At one point Mobile Safari was working.</p>
]]></description><pubDate>Fri, 19 Dec 2025 18:43:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46329329</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=46329329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46329329</guid></item><item><title><![CDATA[New comment by Jasper_ in "Shader Glass"]]></title><description><![CDATA[
<p><a href="https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowdisplayaffinity" rel="nofollow">https://learn.microsoft.com/en-us/windows/win32/api/winuser/...</a></p>
]]></description><pubDate>Fri, 14 Nov 2025 03:40:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45923580</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=45923580</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45923580</guid></item><item><title><![CDATA[New comment by Jasper_ in "X.org Security Advisory: multiple security issues X.Org X server and Xwayland"]]></title><description><![CDATA[
<p>That Wayland keylogger is not the same thing. X11 has several mechanisms (XTest, XRecord, XI raw inputs) to receive a global raw key input stream, accessible to anyone who connects to the X server, without even making a visible window surface. It even bypasses grabs, meaning that your lock screen password entry can be snooped on.<p>The Wayland keylogger acts like an application; all Wayland compositors will only send key events to the focused surface, so the user has to focus an active surface in order to get key events. Even in the scenario where you've LD_PRELOAD-hooked all applications, you still will never get the lock screen password, as the compositor never sends it out across the wire.<p>LD_PRELOAD is problematic from a security perspective, but it's not Wayland-specific: the same issue is true for CLI applications and X11 applications, and any attacker with the ability to write files could also just replace your binaries with malicious ones (stuff them somewhere into ~/.hidden, and then add a $PATH entry to the start).</p>
]]></description><pubDate>Sun, 02 Nov 2025 18:58:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=45792531</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=45792531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45792531</guid></item><item><title><![CDATA[New comment by Jasper_ in "Fui: C library for interacting with the framebuffer in a TTY context"]]></title><description><![CDATA[
<p>Most GPU drivers these days are DRM drivers, which implement fbdev support for backwards compatibility only [0]. The fbdev API is primarily "fake" these days.<p>DRM/KMS using dumb buffers are the preferred API if you want to do software rendering and modesetting. You can find several examples of this online if you search for drm_mode_create_dumb.<p>[0] <a href="https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_fb_helper.c" rel="nofollow">https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds...</a></p>
]]></description><pubDate>Fri, 09 May 2025 15:24:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43937848</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43937848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43937848</guid></item><item><title><![CDATA[New comment by Jasper_ in "Reverse engineering the obfuscated TikTok VM"]]></title><description><![CDATA[
<p>The words "virtual machine" and "interpreter" are mostly interchangeable; they both refer to a mechanism to run a computer program not by compiling it to machine code, but to some intermediate "virtual" machine code which will then get run. The terminology is new, but the idea is older, "P-code" was the term we used to use before it fell out of favor.<p>Sun popularized the term "virtual machine" when marketing Java instead of using "interpreter" or "P-code", both for marketing reasons (VMware had just come on the scene and was making tech headlines), but also to get away from the perception of classic interpreters being slower than native code since Java had a JIT compiler. Just-in-time compilers that compiled to the host's machine code at runtime were well-known in research domains at the time, but were much less popular than the more dominant execution models of "AST interpreter" and "bytecode interpreter".<p>There might be some gatekeepers that suggest that "interpreter" means AST interpreter (not true for the Python interpreter, for instance), or VM always means JIT compiled (not true for Ruby, which calls its bytecode-based MRI "RubyVM" in a few places), but you can ignore them.</p>
]]></description><pubDate>Mon, 21 Apr 2025 17:52:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43754561</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43754561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43754561</guid></item><item><title><![CDATA[New comment by Jasper_ in "Four Years of Jai (2024)"]]></title><description><![CDATA[
<p>Unreal Engine has a C++-based GC.<p><a href="https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-object-handling-in-unreal-engine#garbagecollection" rel="nofollow">https://dev.epicgames.com/documentation/en-us/unreal-engine/...</a></p>
]]></description><pubDate>Fri, 18 Apr 2025 17:38:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43730195</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43730195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43730195</guid></item><item><title><![CDATA[New comment by Jasper_ in "Canadian math prodigy allegedly stole $65M in crypto"]]></title><description><![CDATA[
<p>But how do you reward people within the system? You need some sort of token with value...</p>
]]></description><pubDate>Wed, 16 Apr 2025 01:32:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=43700461</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43700461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43700461</guid></item><item><title><![CDATA[New comment by Jasper_ in "Bolt Graphics Zeus a New GPU Architecture with Up to 2.25TB of Memory and 800GbE"]]></title><description><![CDATA[
<p>Every year they drop a "new GPU!" announcement with absolutely no details. All their numbers are "in simulation only".<p>Last year it was their "Thunder" architecture being the world's fastest GPU, now it's Zeus. Neither one actually exists. <a href="https://bolt.graphics/bolt-graphics-unveils-thunder-the-worlds-fastest-graphics-processor/" rel="nofollow">https://bolt.graphics/bolt-graphics-unveils-thunder-the-worl...</a><p>All their blog posts and marketing material are just generic hype about the concept of raytracing. I don't think these guys have an actual product.</p>
]]></description><pubDate>Sat, 29 Mar 2025 18:27:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=43517471</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43517471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43517471</guid></item><item><title><![CDATA[New comment by Jasper_ in "Spark Texture Compression 1.2"]]></title><description><![CDATA[
<p>Basis also drops quality on the floor by targeting subsets (ETC1s and UASTC) in hopes of having a "common transcodeable subset". In practice, a number of runtime transcoders seem to just decode to RGBA and then fully re-encode anyway, but on the CPU.</p>
]]></description><pubDate>Sun, 09 Mar 2025 19:51:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=43313026</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43313026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43313026</guid></item><item><title><![CDATA[New comment by Jasper_ in "TypeScript types can run DOOM [video]"]]></title><description><![CDATA[
<p>Has anybody ever figured out what "invert a binary tree" means? That came from Max Howell, and nobody else seems to have ever received that question.<p>The best anyone can figure out is that it's reversing the left and right branches, which seems like it's ten lines of code, at most?</p>
]]></description><pubDate>Wed, 26 Feb 2025 19:16:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=43187083</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43187083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43187083</guid></item><item><title><![CDATA[New comment by Jasper_ in "RT64: N64 graphics renderer in emulators and native ports"]]></title><description><![CDATA[
<p>metal-tt/metal-nt require you to specify the exact architecture, and that's not forward-compatible unless you update your application for every new device release. Even minor SKU revisions like applegpu_g13p/applegpu_g13g/applegpu_g13s/applegpu_g13c are different compilation targets, and that doesn't help you when Apple releases applegpu_g14.</p>
]]></description><pubDate>Fri, 21 Feb 2025 08:13:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43125249</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43125249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43125249</guid></item><item><title><![CDATA[New comment by Jasper_ in "RT64: N64 graphics renderer in emulators and native ports"]]></title><description><![CDATA[
<p>Microcode was only used for the RSP, which was a modified MIPS coprocessor and could only realistically be used for T&L. After that, the RSP then sends triangles to the RDP for rasterization, pixel pipeline, and blending, all of which are fixed-function, admittedly with some somewhat flexible color combiner stuff.</p>
]]></description><pubDate>Fri, 21 Feb 2025 08:08:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43125219</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43125219</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43125219</guid></item><item><title><![CDATA[New comment by Jasper_ in "RT64: N64 graphics renderer in emulators and native ports"]]></title><description><![CDATA[
<p>Ubershader actually has three different opposite meanings, unfortunately.<p>The classic usage is a single source shader which is specialized using #define's and compiled down to hundreds of shaders. This is what Christer uses in that blog post above (and Aras does as well in his ubershader blog post)<p>Dolphin used it to mean a single source shader that used runtime branches to cover all the bases as a fallback while a specialized shader was compiled behind the scenes.<p>The even more modern usage now is a single source shader that <i>only</i> uses runtime branches to cover all the features, without any specialization behind the scenes, and that's what Dario means here.</p>
]]></description><pubDate>Thu, 20 Feb 2025 18:03:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43118021</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43118021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43118021</guid></item><item><title><![CDATA[New comment by Jasper_ in "RT64: N64 graphics renderer in emulators and native ports"]]></title><description><![CDATA[
<p>It happened all the time. I've played plenty of D3D11 games where clicking to shoot my gun would stutter the first time it happened as it was compiling shaders for the bullet fire particle effects.<p>Driver caches mean that after everything gets "prewarmed", it won't happen again.</p>
]]></description><pubDate>Thu, 20 Feb 2025 17:59:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=43117972</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43117972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43117972</guid></item><item><title><![CDATA[New comment by Jasper_ in "The hardest working font in Manhattan"]]></title><description><![CDATA[
<p>The ANSI Y14.2 committee has a version of the font available for download here, created by Peter Karnold.<p><a href="https://cstools.asme.org/csconnect/CommitteePages.cfm?Committee=C64040400&Action=40068" rel="nofollow">https://cstools.asme.org/csconnect/CommitteePages.cfm?Commit...</a></p>
]]></description><pubDate>Sat, 15 Feb 2025 22:52:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=43063272</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43063272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43063272</guid></item><item><title><![CDATA[New comment by Jasper_ in "Disabling cert checks: we have not learned much"]]></title><description><![CDATA[
<p>Encryption without authentication is not very useful; if unauthenticated, your ISP could middle-man your connection and effectively decrypt everything while making you think you're encrypted.<p>If that's not in your threat model, and you want encryption for another purpose, then I could understand that, but currently, protecting the endpoints against malicious attackers in the middle is the big value of TLS.</p>
]]></description><pubDate>Tue, 11 Feb 2025 20:07:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=43017689</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=43017689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43017689</guid></item><item><title><![CDATA[New comment by Jasper_ in "No Bitcoin ETFs at Vanguard (2024)"]]></title><description><![CDATA[
<p>No, they don't do any of that. There are 100 different blockchain implementations at least, and none of them are standardized across any of those metrics. Everything from the consensus mechanism to the packet format to the bytecode is different. The standard way to interop between the Tezos blockchain and the Polygon blockchain is to create a token on both sides and attach a tag saying "don't touch me I'm actually somewhere else".<p>The only way to standardize ~all companies would be to have them all run the same exact ledger system, and if it was easy enough to make them do that, it would be easy enough to have them standardize a different reporting system for the same purpose.</p>
]]></description><pubDate>Sun, 26 Jan 2025 19:19:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42833043</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=42833043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42833043</guid></item><item><title><![CDATA[New comment by Jasper_ in "No Bitcoin ETFs at Vanguard (2024)"]]></title><description><![CDATA[
<p>Why would the addition of blockchains help standardize things?</p>
]]></description><pubDate>Sun, 26 Jan 2025 18:50:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=42832732</link><dc:creator>Jasper_</dc:creator><comments>https://news.ycombinator.com/item?id=42832732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42832732</guid></item></channel></rss>