<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: alchemio</title><link>https://news.ycombinator.com/user?id=alchemio</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 09:58:41 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=alchemio" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by alchemio in "The C++ standard for the F-35 Fighter Jet [video]"]]></title><description><![CDATA[
<p>You can use std containers in a no-exceptions environment. Just know that if an error occurs the program will terminate.</p>
]]></description><pubDate>Sun, 07 Dec 2025 21:03:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46185134</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=46185134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46185134</guid></item><item><title><![CDATA[New comment by alchemio in "No Leak, No Problem – Bypassing ASLR with a ROP Chain to Gain RCE"]]></title><description><![CDATA[
<p>checksec is part of the pwntools suite. Along with other tools for finding ROP gadgets and shellcode generation.</p>
]]></description><pubDate>Sat, 15 Nov 2025 22:50:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45941202</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=45941202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45941202</guid></item><item><title><![CDATA[New comment by alchemio in "No Leak, No Problem – Bypassing ASLR with a ROP Chain to Gain RCE"]]></title><description><![CDATA[
<p>The most shocking part is the absence of stack canaries. I know there are issues with them on microcontrollers, but still I would assume they’re enabled by default by the compiler.</p>
]]></description><pubDate>Sat, 15 Nov 2025 11:27:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45936696</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=45936696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45936696</guid></item><item><title><![CDATA[New comment by alchemio in "Stdio(3) change: FILE is now opaque"]]></title><description><![CDATA[
<p>Python, rust and Go aren’t beacons of software stability though.</p>
]]></description><pubDate>Mon, 21 Jul 2025 15:14:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44636139</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=44636139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44636139</guid></item><item><title><![CDATA[New comment by alchemio in "Memory Safety Features in Zig"]]></title><description><![CDATA[
<p>Zig’s general purpose allocator might detect use after free in debug builds, however zig appears to be ok with dangling (invalidated) pointers/slices and use after free for stack variables, which is more concerning, especially from a security standpoint.<p>```zig<p>const std = @import("std");<p>fn get_ptr() <i>i32 {
    var a: i32 = 6;
    return &a;
}<p>pub fn main() void {<p><pre><code>    var x: ?*i32 = undefined;
    {
        var a: i32 = 5;
        x.? = &a;
    }
    std.debug.print("{} {}", .{ x.?.*, get_ptr().* });</code></pre>
}<p>```
These are trivial examples that Zig doesn’t even warn about, even though similar code in C or C++ gets a warning in gcc and clang.<p>This discussion:<p><a href="https://ziggit.dev/t/what-makes-ban-returning-pointer-to-stack-memory-difficult/9380/11" rel="nofollow">https://ziggit.dev/t/what-makes-ban-returning-pointer-to-sta...</a><p>indicates that core zig devs aren’t interested in diagnosing such usage.</i></p>
]]></description><pubDate>Thu, 08 May 2025 10:05:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43924734</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=43924734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43924734</guid></item><item><title><![CDATA[New comment by alchemio in "Asahi Linux lead developer Hector Martin resigns from Linux kernel"]]></title><description><![CDATA[
<p>But it does. He has to notify R4L of what his changes were and how it broke the Rust driver. Even if he didn’t, he will still be contacted for information regarding these things.</p>
]]></description><pubDate>Fri, 07 Feb 2025 20:01:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42976822</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=42976822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42976822</guid></item><item><title><![CDATA[New comment by alchemio in "Asahi Linux lead developer Hector Martin resigns from Linux kernel"]]></title><description><![CDATA[
<p>So they stirred a whole lot of drama for not much, potentially harming R4L.</p>
]]></description><pubDate>Fri, 07 Feb 2025 19:52:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42976750</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=42976750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42976750</guid></item><item><title><![CDATA[New comment by alchemio in "ruffle-rs/ruffle: A Flash Player emulator written in Rust"]]></title><description><![CDATA[
<p>Flash apps and Java applets (via Cheerp) can run again in browsers thanks to wasm.</p>
]]></description><pubDate>Mon, 06 Jan 2025 09:11:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42608985</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=42608985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42608985</guid></item><item><title><![CDATA[New comment by alchemio in "Microsoft donates the Mono Project to the Wine team"]]></title><description><![CDATA[
<p>Embrace, Extend, Extinguish, Endow</p>
]]></description><pubDate>Wed, 28 Aug 2024 22:00:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41384904</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=41384904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41384904</guid></item><item><title><![CDATA[New comment by alchemio in "Curl will be dropping Hyper due to lack of maintenance"]]></title><description><![CDATA[
<p>> It is undoubtedly hard work to fix these remaining problems, as they typically require both rust and C knowledge in addition to deep HTTP familiarity. There does not seem to be that many persons interested or available for this challenge. Meanwhile, there is little if any demand for hyper from existing (lib)curl users.<p>You might as well replace HTTP with OS, hyper with rust and curl with linux, and you get the current situation with Rust adoption on Linux.</p>
]]></description><pubDate>Sat, 17 Aug 2024 19:40:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=41277326</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=41277326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41277326</guid></item><item><title><![CDATA[New comment by alchemio in "State of Text Rendering 2024"]]></title><description><![CDATA[
<p>RustyBuzz is quite limited when compared with HarfBuzz. The Rust fonts scene also seems to lack the necessary momentum to drive things through. 
I’m not sure whether it’s because the Rust community is mostly interested in webtech or whether Rust itself makes it hard to solve such complex problems. But I don’t see the sands shifting in less than 10 years to come.</p>
]]></description><pubDate>Tue, 09 Jul 2024 06:36:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40913102</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=40913102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40913102</guid></item><item><title><![CDATA[New comment by alchemio in "The search for easier safe systems programming"]]></title><description><![CDATA[
<p>Memory allocation is slow and undeterministic in perf. Some allocations also require a global lock on the system level. It’s also a point of failure if the allocation doesn’t succeed, so there’s an extra check somewhere. 
Furthermore if every object is a pointer you get indirection overhead (even though small but existent). 
Deallocation as well incurs an overhead. 
Without a compacting gc you run into memory fragmentation which further aggravate the issue. 
All of this overhead can be felt in tight loops.</p>
]]></description><pubDate>Wed, 08 May 2024 12:17:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=40297158</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=40297158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40297158</guid></item><item><title><![CDATA[New comment by alchemio in "Xmake: A cross-platform build utility based on Lua"]]></title><description><![CDATA[
<p>Which make? I’m guessing you mean gnu make, well there’s several incompatible variants as bsd make and nmake. Also bash is not universally used, not windows, not current macos.</p>
]]></description><pubDate>Sun, 05 May 2024 19:47:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=40267611</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=40267611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40267611</guid></item><item><title><![CDATA[New comment by alchemio in "Curl: Hyper, is it worth it?"]]></title><description><![CDATA[
<p>It’s looking like the same fate awaits Rust in the linux kernel!</p>
]]></description><pubDate>Tue, 16 Apr 2024 16:42:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=40054195</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=40054195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40054195</guid></item><item><title><![CDATA[New comment by alchemio in "Zig, Rust, and Other Languages"]]></title><description><![CDATA[
<p>Exactly</p>
]]></description><pubDate>Sat, 16 Mar 2024 01:58:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=39722658</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39722658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39722658</guid></item><item><title><![CDATA[New comment by alchemio in "Zig, Rust, and Other Languages"]]></title><description><![CDATA[
<p>It really doesn’t matter and that’s my point.</p>
]]></description><pubDate>Sat, 16 Mar 2024 01:57:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39722652</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39722652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39722652</guid></item><item><title><![CDATA[New comment by alchemio in "Zig, Rust, and Other Languages"]]></title><description><![CDATA[
<p>It’s something Zig touts when compared to other languages(1). The idea is that in the end it’s a convention that an allocator needs to be passed to indicate that the function allocates, which not even the stdlib adheres religiously to. 
I’m fine with it since I do believe a library writer should know best what works with their library.<p>1. <a href="https://ziglang.org/learn/why_zig_rust_d_cpp/#no-hidden-allocations" rel="nofollow">https://ziglang.org/learn/why_zig_rust_d_cpp/#no-hidden-allo...</a></p>
]]></description><pubDate>Sat, 16 Mar 2024 01:55:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=39722645</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39722645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39722645</guid></item><item><title><![CDATA[New comment by alchemio in "Zig, Rust, and Other Languages"]]></title><description><![CDATA[
<p>Just a correction: most std C functions don’t allocate. strdup does but it was only recently adopted into the standard, it was previously an extension.<p>Similarly zig’s stdlib shouldn’t allocate behind your back, except for thread spawn where it does:
<a href="https://github.com/ziglang/zig/blob/5cd7fef17faa2a40c8da23f0ef2485df0af39ed4/lib/std/Thread.zig#L666">https://github.com/ziglang/zig/blob/5cd7fef17faa2a40c8da23f0...</a><p>Generally speaking, it’s as mentioned just a convention. A zig library might not allow its users to pass allocators for example.<p>In C++, stl containers can take an allocator as a template parameter. Recent C++ versions also provide several polymorphic allocators in the stdlib. You can also override the global allocator or a specific class’ allocator (override placement new).</p>
]]></description><pubDate>Fri, 15 Mar 2024 23:42:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=39721845</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39721845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39721845</guid></item><item><title><![CDATA[New comment by alchemio in "C++ Safety, in Context"]]></title><description><![CDATA[
<p>So rewrite the browser in Rust!<p>Rust is 10 years old this year, yet there are no production level browsers or operating systems written in it!<p>I’m talking about Google. They come up with article after article about the failings of C++, yet would prefer starting their own programming language Carbon, continue using C/C++ for chrome, zircon and android.</p>
]]></description><pubDate>Wed, 13 Mar 2024 11:57:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=39690388</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39690388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39690388</guid></item><item><title><![CDATA[New comment by alchemio in "V Language Review (2023)"]]></title><description><![CDATA[
<p>I for one appreciate this article. It sheds light on the history of V and its undelivered promises; and save me wasted time trying it or reading their site.</p>
]]></description><pubDate>Sat, 24 Feb 2024 20:06:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39494721</link><dc:creator>alchemio</dc:creator><comments>https://news.ycombinator.com/item?id=39494721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39494721</guid></item></channel></rss>