<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: smasher164</title><link>https://news.ycombinator.com/user?id=smasher164</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 25 Aug 2026 06:25:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=smasher164" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by smasher164 in "Introduction to Formal Verification with Lean Part 1"]]></title><description><![CDATA[
<p>a) Thanks for putting this together!<p>b) Please don't hijack my scrolling.<p>c) I really wish Lean were more mature as an application programming language. Its standard library is really lacking.</p>
]]></description><pubDate>Wed, 22 Jul 2026 13:17:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49006293</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=49006293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49006293</guid></item><item><title><![CDATA[New comment by smasher164 in "Ask HN: Did Fable disappear from your Claude usage and requires credits now?"]]></title><description><![CDATA[
<p>They might use this bug as a reason to be able to extend it for another week or something.</p>
]]></description><pubDate>Fri, 17 Jul 2026 18:29:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48950632</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48950632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48950632</guid></item><item><title><![CDATA[New comment by smasher164 in "Rewriting Bun in Rust"]]></title><description><![CDATA[
<p>It's still shocking to me that the approach taken wasn't to have Claude write a tool that translates Zig to Rust. I imagine it would've been cheaper, deterministic, and each iteration would produce a better tool.</p>
]]></description><pubDate>Thu, 09 Jul 2026 03:22:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48840592</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48840592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48840592</guid></item><item><title><![CDATA[Flint: Fast Library for Number Theory]]></title><description><![CDATA[
<p>Article URL: <a href="https://flintlib.org/">https://flintlib.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48723265">https://news.ycombinator.com/item?id=48723265</a></p>
<p>Points: 11</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Jun 2026 18:34:21 +0000</pubDate><link>https://flintlib.org/</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48723265</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48723265</guid></item><item><title><![CDATA[Type Inference (Part 1)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.blog.akhil.cc/type-inference-part-1">https://www.blog.akhil.cc/type-inference-part-1</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48691871">https://news.ycombinator.com/item?id=48691871</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 26 Jun 2026 20:58:36 +0000</pubDate><link>https://www.blog.akhil.cc/type-inference-part-1</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48691871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48691871</guid></item><item><title><![CDATA[New comment by smasher164 in "Running Windows Games on a Hobby OS with Wine"]]></title><description><![CDATA[
<p>If you have a goal of making your OS usable, you have to design it with this in mind. Build your kernel and driver subsystem in a way that legacy OS interfaces can be implemented on top of them. Find ways to repurpose existing infrastructure so you don't have to do all the work yourself.</p>
]]></description><pubDate>Wed, 24 Jun 2026 17:51:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48663374</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48663374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48663374</guid></item><item><title><![CDATA[New comment by smasher164 in "Show HN: Microcrad – Micrograd Reimplemented in C"]]></title><description><![CDATA[
<p>I guess I interpreted this part of their README as implying that the author found RC too fragile<p>> Reference counting buys correctness and composability, but at a cost.<p>> Disadvantage #1: you must balance every reference. Each value_create, value_retain, and each operation's implicit retain of its operands has to be matched by a value_release. Forget one and you leak; do one too many and you free memory that is still in use. The training examples in examples/ are verbose precisely because they are scrupulous about this in their error paths; that verbosity is the price of leak-free C.</p>
]]></description><pubDate>Sat, 20 Jun 2026 18:07:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48611424</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48611424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48611424</guid></item><item><title><![CDATA[New comment by smasher164 in "Show HN: Microcrad – Micrograd Reimplemented in C"]]></title><description><![CDATA[
<p>Is there a reason you didn't go with something like Boehm for a library gc, instead of writing your reference counting implementation?</p>
]]></description><pubDate>Sat, 20 Jun 2026 17:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48611089</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48611089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48611089</guid></item><item><title><![CDATA[New comment by smasher164 in "LLMs Are Complicated Now"]]></title><description><![CDATA[
<p>lol yeah I guess the best move right now is to fetch their /feed and iterate through <post>s</p>
]]></description><pubDate>Sat, 20 Jun 2026 17:25:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48611069</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48611069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48611069</guid></item><item><title><![CDATA[New comment by smasher164 in "Cargo-Geiger"]]></title><description><![CDATA[
<p>I think what would matter from this kind of measure is whether a project's use of unsafe actually has undefined behavior. Like the number of unsafe blocks is not really my concern as much as what the unsafe blocks are doing. If you build a single faulty abstraction via unsafe, anything that uses it is broken.<p>In my projects, it usually comes down to a scenario like needing to write inline assembly or invoke a foreign function, where there are close to zero guarantees the language can give me.</p>
]]></description><pubDate>Sat, 20 Jun 2026 17:20:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48611010</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48611010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48611010</guid></item><item><title><![CDATA[Portsh: A batch/shell polyglot that implements a Lisp]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/smasher164/portsh">https://github.com/smasher164/portsh</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48563397">https://news.ycombinator.com/item?id=48563397</a></p>
<p>Points: 31</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Jun 2026 22:53:43 +0000</pubDate><link>https://github.com/smasher164/portsh</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48563397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48563397</guid></item><item><title><![CDATA[New comment by smasher164 in "Feds freaked over Fable 5 after 'fix this code', not jailbreak, say researchers"]]></title><description><![CDATA[
<p>Honestly, given how trivial it is for mythos-class models to identify an exploit, I’m going to assume any sufficiently large project written in C, C++, or Zig is riddled with latent vulnerabilities and compromised.</p>
]]></description><pubDate>Tue, 16 Jun 2026 17:02:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48558356</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48558356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48558356</guid></item><item><title><![CDATA[New comment by smasher164 in "Formal methods and the future of programming"]]></title><description><![CDATA[
<p>I think it's a good time to learn Lean. It positions itself as a proof assistant that's also good at practical programming. I'm not sure how mature the ecosystem is for the latter.</p>
]]></description><pubDate>Mon, 15 Jun 2026 01:50:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48535597</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48535597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48535597</guid></item><item><title><![CDATA[New comment by smasher164 in "Restartable Sequences"]]></title><description><![CDATA[
<p>I was having a conversation with someone recently if RSEQ would be a good primitive to build a load-link/store-conditional implementation in user-space. It gives you a critical window, though you still have to deal with spurious restarts, and provide a way for one core to abort another.</p>
]]></description><pubDate>Mon, 01 Jun 2026 02:18:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48351953</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48351953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48351953</guid></item><item><title><![CDATA[New comment by smasher164 in "Perry Compiles TypeScript directly to executables using SWC and LLVM"]]></title><description><![CDATA[
<p>On other sites, like  github and reddit. This exchange was funny though. He eventually gets called out by the other commenter to stop responding with an LLM: <a href="https://github.com/PerryTS/perry/issues/139#issuecomment-4297745251" rel="nofollow">https://github.com/PerryTS/perry/issues/139#issuecomment-429...</a></p>
]]></description><pubDate>Sat, 30 May 2026 17:41:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48338801</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48338801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48338801</guid></item><item><title><![CDATA[New comment by smasher164 in "Perry Compiles TypeScript directly to executables using SWC and LLVM"]]></title><description><![CDATA[
<p>I'm not against AI usage but the website, documentation, and even the comments the creator (proggeramlug) makes in response to questions are all very clearly AI-generated. Also, as someone else noticed, the pacing of the commits is eerily fast. That combined with the level of functionality makes me dubious how much accountability the creators have over the implementation.<p>Like you really built a backend that lowers to LLVM, integrated it with a generational gc, wrote a cross-platform reactive runtime, and built support for eleven different targets within like a year? Are you just prompting the model to tack on the next coolest thing or do you understand how these features work?<p>I worry how many of these kinds of projects will show up now. How do you guarantee stability? If there's a memory corruption error in the GC implementation, who's going to debug it?</p>
]]></description><pubDate>Sat, 30 May 2026 05:09:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48332796</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48332796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48332796</guid></item><item><title><![CDATA[New comment by smasher164 in "Performance of Rust Language [pdf]"]]></title><description><![CDATA[
<p>You end up needing something like refinement types to control the way you statically enforce bounds. That being said, there's stuff like <a href="https://flux-rs.github.io/flux/" rel="nofollow">https://flux-rs.github.io/flux/</a> which uses macros to layer a refinement type system on top of rust's. You can use it to statically eliminate bounds checks.</p>
]]></description><pubDate>Tue, 26 May 2026 06:07:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48275643</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48275643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48275643</guid></item><item><title><![CDATA[New comment by smasher164 in "Making deep learning go brrrr from first principles (2022)"]]></title><description><![CDATA[
<p>> This is a category error.<p>Okay, but surely you know what they actually mean right, or are you being willfully obtuse? They are comparing CPython (the <i>main</i> python implementation)'s implementation that runs on the CPU with a kernel running on the GPU.</p>
]]></description><pubDate>Sat, 23 May 2026 15:52:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48248686</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48248686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48248686</guid></item><item><title><![CDATA[New comment by smasher164 in "Bun Rust rewrite: "codebase fails basic miri checks, allows for UB in safe rust""]]></title><description><![CDATA[
<p>What I don't understand is if they were going to translate Zig to unsafe Rust, why not just build a translation tool for it? You could do a one-to-one mapping of language constructs, hardcoding patterns in your codebase, and as one friend put it "Tbh they could've just hooked up zig translate-c to c2rust". They would get deterministic translation, would probably have not been a heavy investment to build, and the output would have the same assurances as the input.<p>In this case, I would trust the output even less than the input. The input was memory-unsafe but hand-written. The output is memory-unsafe but also vibe-coded and has had no eyeballs on it. What is the point of abusing agentic AI for this use-case?</p>
]]></description><pubDate>Fri, 15 May 2026 18:50:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48152347</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=48152347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48152347</guid></item><item><title><![CDATA[New comment by smasher164 in "Hammerspoon"]]></title><description><![CDATA[
<p>One of the reasons I left macos was that automation via Automator and Applescript was inconsistent and unsupported in many contexts. Well that and the locking down of app distribution and sandboxing. However, the positive reception to Hammerspoon is making me consider trying it again.</p>
]]></description><pubDate>Sat, 14 Mar 2026 07:06:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47374094</link><dc:creator>smasher164</dc:creator><comments>https://news.ycombinator.com/item?id=47374094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47374094</guid></item></channel></rss>