<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: pizlonator</title><link>https://news.ycombinator.com/user?id=pizlonator</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 27 Aug 2026 18:21:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pizlonator" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pizlonator in "I want extern "fil-C""]]></title><description><![CDATA[
<p>That is a great feature<p>But it’s strictly less safe than either Fil-C or Rust since it only protects bounds</p>
]]></description><pubDate>Fri, 14 Aug 2026 04:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49294630</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49294630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49294630</guid></item><item><title><![CDATA[New comment by pizlonator in "I want extern "fil-C""]]></title><description><![CDATA[
<p>Correct</p>
]]></description><pubDate>Fri, 14 Aug 2026 02:21:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49294106</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49294106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49294106</guid></item><item><title><![CDATA[New comment by pizlonator in "I want extern "fil-C""]]></title><description><![CDATA[
<p>Yeah rlbox is great.<p>Fil-C is more precise than valgrind or asan. Valgrind and asan will allow a buggy access (like an OOB) to succeed if the resulting address is valid at all - which is useless from a security enforcement perspective since clobbering valid addresses is what the attacker is trying to do.<p>Fil-C only allows an access to succeed if it’s in bounds of that pointer’s capability. That is a useful level of precision for security, since it prevents the attacker from clobbering the addresses of their choice.</p>
]]></description><pubDate>Fri, 14 Aug 2026 02:21:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=49294105</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49294105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49294105</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>From the second paragraph of fil-c.org:<p>"Fil-C has no unsafe statement and only limited FFI to unsafe code."<p>`zunsafe_call` is a weird thing to get hung up on as an "escape hatch", considering it's just a super limited form of FFI, intentionally designed so that it's only usable for OpenSSL's use case.<p>> Misrepresenting `unsafe{}`<p>`unsafe` lets you write Rust code that violates any reasonable definition of memory safety (including Rust's definition or my definition), and it's widely used.</p>
]]></description><pubDate>Tue, 04 Aug 2026 01:36:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=49163457</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49163457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49163457</guid></item><item><title><![CDATA[New comment by pizlonator in "OpenJDK Interim Policy on Generative AI"]]></title><description><![CDATA[
<p>Genius.</p>
]]></description><pubDate>Thu, 30 Jul 2026 17:31:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49113065</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49113065</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49113065</guid></item><item><title><![CDATA[New comment by pizlonator in "OpenJDK Interim Policy on Generative AI"]]></title><description><![CDATA[
<p>How do you enforce this?</p>
]]></description><pubDate>Thu, 30 Jul 2026 13:21:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49109617</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49109617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49109617</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>I have worked on both a major JS runtime and a .NET runtime. I have fixed hundreds of security bugs in JSC. Based on that, I have no doubt that what Fil-C does is safer. Just the absence of a JIT makes it safer in a way that I don’t think is seriously debatable. Even with JIT disabled, a JS runtime has massive attack surface due to the language relying on a large native library to do anything useful, not to mention a mind boggling amount of language implementation corner cases.<p>By contrast Fil-C has a small number of rules and largely obviates the need for “native” code.</p>
]]></description><pubDate>Wed, 29 Jul 2026 17:28:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49100446</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49100446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49100446</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>Saying something that you don’t believe isn’t trolling.</p>
]]></description><pubDate>Wed, 29 Jul 2026 14:53:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49098343</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49098343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49098343</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>This thread is evidence of it.<p>The OP is about Zig and now there are 40+ mentions of Fil-C initiated mostly by Rust folks and those comments are largely criticizing me personally.<p>That’s toxic AF!</p>
]]></description><pubDate>Wed, 29 Jul 2026 14:05:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49097734</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49097734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49097734</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>I never claimed that Fil-C is objectively better than Rust.<p>As a long time PL researcher, I can, should, and will point out interesting corner cases of languages. Including in Fil-C or Rust</p>
]]></description><pubDate>Wed, 29 Jul 2026 13:59:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49097642</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49097642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49097642</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>Steve, be reasonable.<p>I never said Fil-C is “so much better” (let alone with all caps) than anything.<p>I never called Rust “trash”.<p>I think you’re taking this all too personally</p>
]]></description><pubDate>Wed, 29 Jul 2026 13:32:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49097296</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49097296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49097296</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>This is a simple fact. The Fil-C runtime is tiny compared to TS and C#</p>
]]></description><pubDate>Wed, 29 Jul 2026 13:30:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49097275</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49097275</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49097275</guid></item><item><title><![CDATA[New comment by pizlonator in "Zig's Incremental Compilation Internals"]]></title><description><![CDATA[
<p>First of all, it’s incredible that on a HN thread about a language that isn’t C, there are 46 mentions of Fil-C! You guys are obsessed!<p>I make bold claims because they hold water.<p>- You can at worst corrupt only the capability you’re pointing to.<p>- intra object overflows are almost never useful for memory corruption exploits unless they let you corrupt a pointer, and Fil-C prevents that from being useful because you cannot corrupt the capability.<p>- the zunsafe api is basically unused. One library uses it (OpenSSL) for good reasons. This is in contrast to widespread use of the unsafe keyword in Rust, beyond just one library for a narrow purpose.<p>Thanks for reporting bugs. Worth noting that they require doing things that extant C code never does. It’s good to fix those, but the true threat model of any memory safe language is not to sandbox a malicious programmer, but to protect the program of a normal programmer against a malicious user</p>
]]></description><pubDate>Wed, 29 Jul 2026 13:29:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49097258</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49097258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49097258</guid></item><item><title><![CDATA[New comment by pizlonator in "Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary"]]></title><description><![CDATA[
<p>Yes, being able to build small and fast binaries in TS would be a valuable capability, which is why basically all of us who work in this space have thought of this idea and rejected it after going deep on it. This isn’t a new idea.<p>CanadaHonk has gotten further than the rest of us. It’s surprising and impressive.<p>You’re only replying to the quickjs issue I raised, but it’s not the only issue. Their approach to numbers is broken. Their approach to measurement is broken. The quickjs thing raises another red flag: it suggests to me that they are using reference counting, not GC. That’s guaranteed to make them too slow to be useful. (If they weren’t using RC, then they’d have a hard time on the boundary to quickjs.)<p>As to the `any` issue, let me explain it in a way you’ll appreciate. I asked Claude how likely it is that TS code uses any, and it found:<p>- 79.5% of TS repos use any explicitly. So, about 4/5 chance that newly written dep-free TS code will use it.<p>- the explicit any type is about as common as Boolean and void.<p>- a third of inferred types are any. That’s huge.<p>So, if you don’t believe me, then at least believe Claude: any is a super common type, so they will be falling off into quickjs a lot.<p>Oh, and in case it isn’t clear, quickjs-ng is no better than quickjs. They’re the same thing for the purpose of perf</p>
]]></description><pubDate>Mon, 27 Jul 2026 03:57:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49065056</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49065056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49065056</guid></item><item><title><![CDATA[New comment by pizlonator in "Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary"]]></title><description><![CDATA[
<p>They will have untyped dependencies. That’s how the TS/JS ecosystem works.<p>Note that “untyped dependency” means any code that says `any`.</p>
]]></description><pubDate>Mon, 27 Jul 2026 03:41:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49064961</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49064961</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49064961</guid></item><item><title><![CDATA[New comment by pizlonator in "Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary"]]></title><description><![CDATA[
<p>Yeah<p>- using quickjs at all in a thing that needs perf. Quickjs is hilariously slow. Midwits use it because it has “quick” in the name.<p>- using floats for numbers and deferring int optimizations for later. Inferring ints is like half the problem of fast JS.<p>- rejecting inadequately annotated or too dynamic code without a whole heck of a lot of self-reflection about how unlikely that is to work out.<p>The observation that languages that are even slightly dynamic need dynamic JIT opts is very old; folks figured that out in the 80s.<p>This project reeks of weapons grade AI psychosis</p>
]]></description><pubDate>Mon, 27 Jul 2026 03:12:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49064811</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49064811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49064811</guid></item><item><title><![CDATA[New comment by pizlonator in "Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary"]]></title><description><![CDATA[
<p>That explains why:<p>- the architecture is idiotic.<p>- they have zero credible perf numbers.<p>I plan to benchmark it using generally accepted methods.<p>Porffor makes careful trade offs that make sense and is benchmarked in a way that I can believe.<p>(Source: I make dynamic languages fast for a living)</p>
]]></description><pubDate>Mon, 27 Jul 2026 03:00:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49064734</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49064734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49064734</guid></item><item><title><![CDATA[New comment by pizlonator in "Memory safety absolutists"]]></title><description><![CDATA[
<p>Before I started talking about Fil-C, discussions about Rust’s memory safety lacked nuance: folks claimed that if you just compiled your code in Rust then it would be memory safe.<p>I have added the nuance. Folks now understand that there are limits to Rust’s memory safety.<p>What have you added to the conversation? Nothing.</p>
]]></description><pubDate>Sun, 26 Jul 2026 13:48:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49058231</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49058231</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49058231</guid></item><item><title><![CDATA[New comment by pizlonator in "Memory safety absolutists"]]></title><description><![CDATA[
<p>Memory safety can be defined in more than one way, so it’s super worthwhile to figure out how to define it and what meets the definition and what doesn’t.<p>We should do more of that as a community. It’s important stuff. Ima do my part so you’ll likely see me poke at how Fil-C does a thing that Rust doesn’t do. If you read my arguments unemotionally, I think you’ll get a deeper appreciation for Fil-C, Rust, and memory safe language design generally.<p>What we shouldn’t do is reduce the discussion to claiming in a blog post that so-and-so “doesn’t like” such-and-such.</p>
]]></description><pubDate>Sun, 26 Jul 2026 04:28:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=49054733</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49054733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49054733</guid></item><item><title><![CDATA[New comment by pizlonator in "Memory safety absolutists"]]></title><description><![CDATA[
<p>other implementations of fat pointers (that I’m aware of) have no distinction between flight and rest; they store what I call flight pointers in memory literally.<p>The closest technique to invisicaps is softbound, but that has issues that invisicaps resolve (better story for races, more comprehensive safety for all of the C and C++ languages, no need for large virtual memory reservations, and lock freedom)</p>
]]></description><pubDate>Sun, 26 Jul 2026 03:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=49054553</link><dc:creator>pizlonator</dc:creator><comments>https://news.ycombinator.com/item?id=49054553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49054553</guid></item></channel></rss>