<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: stevenhuang</title><link>https://news.ycombinator.com/user?id=stevenhuang</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 11:04:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=stevenhuang" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by stevenhuang in "Where is the AI jobs crisis?"]]></title><description><![CDATA[
<p>The one with a weird chip on their shoulder is not the parent I can tell you that much.</p>
]]></description><pubDate>Wed, 10 Jun 2026 02:52:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48470781</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48470781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48470781</guid></item><item><title><![CDATA[New comment by stevenhuang in "When AI Builds Itself: Our progress toward recursive self-improvement"]]></title><description><![CDATA[
<p>It starts somewhere, like with this announcement.<p>I'm not sure why this is so difficult for you to understand.</p>
]]></description><pubDate>Sun, 07 Jun 2026 23:56:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48439883</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48439883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48439883</guid></item><item><title><![CDATA[New comment by stevenhuang in "How LLMs work"]]></title><description><![CDATA[
<p>You do realize modern neuroscience considers the human brain as "just" a probability engine and that intelligence may well be the ability for an organism to predict well.<p>> doesn’t have a semantic understanding of what it is doing<p>I hope you realize this is an area of open, active research.</p>
]]></description><pubDate>Sun, 07 Jun 2026 17:29:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48436928</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48436928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48436928</guid></item><item><title><![CDATA[New comment by stevenhuang in "LLMs are eroding my software engineering career and I don't know what to do"]]></title><description><![CDATA[
<p>Don't kid yourself.<p>The high watermark of what can be "solved" (read: one shotted) is rising, and will continue to rise. Look at the gig economy (Fiver etc) for simple programming/design tasks, LLMs have taken over completely with their execution.</p>
]]></description><pubDate>Sun, 07 Jun 2026 17:22:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48436868</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48436868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48436868</guid></item><item><title><![CDATA[New comment by stevenhuang in "How LLMs work"]]></title><description><![CDATA[
<p>Look at his comments here.<p>Safe to say there's a cognitive block and until he tries to approach this topic in good faith he'll simply never understand. Lol.<p><a href="https://news.ycombinator.com/item?id=48429027">https://news.ycombinator.com/item?id=48429027</a></p>
]]></description><pubDate>Sat, 06 Jun 2026 23:30:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48430156</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48430156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48430156</guid></item><item><title><![CDATA[New comment by stevenhuang in "How LLMs work"]]></title><description><![CDATA[
<p>A dominant theory for human cognition is predictive coding<p><a href="https://en.wikipedia.org/wiki/Predictive_coding" rel="nofollow">https://en.wikipedia.org/wiki/Predictive_coding</a></p>
]]></description><pubDate>Sat, 06 Jun 2026 23:26:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48430124</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48430124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48430124</guid></item><item><title><![CDATA[New comment by stevenhuang in "How LLMs work"]]></title><description><![CDATA[
<p>I help write optimized CUDA kernels for proprietary hardware. They may "literally" work this way, but that is quite besides the point.<p>If you don't see why then you have exactly demonstrated my point in how practitioners like you simply lack the foundational understanding in philosophy, information theory, human consciousness, human cognition, neuroscience, necessary to bridge this conceptual gap.<p>(Rather, it is that we know so little of how consciousness or what intelligence even is, that we cannot possibly use first principles to preclude LLMs from possessing these qualities)<p>You don't understand the argument, so you keep repeating first order mechanistic observations that are irrelevant. If you don't want to understand the argument, don't be surprised when people refuse to engage with you, especially when it's evident to those more knowledgeable the position you hold is the ignorant one.</p>
]]></description><pubDate>Sat, 06 Jun 2026 22:44:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48429781</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48429781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48429781</guid></item><item><title><![CDATA[New comment by stevenhuang in "How LLMs work"]]></title><description><![CDATA[
<p>I don't even try anymore. The people who still parrot the stochastic parrot bit this late in the game will simply never understand it.</p>
]]></description><pubDate>Sat, 06 Jun 2026 21:08:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48429025</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48429025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48429025</guid></item><item><title><![CDATA[New comment by stevenhuang in "S&P 500 rejects SpaceX, also blocking entry for OpenAI and Anthropic"]]></title><description><![CDATA[
<p>Presumptuous of you to think your own preferences morally superior to the preferences of others.</p>
]]></description><pubDate>Sat, 06 Jun 2026 21:03:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48428989</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48428989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48428989</guid></item><item><title><![CDATA[New comment by stevenhuang in "When AI Builds Itself: Our progress toward recursive self-improvement"]]></title><description><![CDATA[
<p>Not use react native for a cli app for one, lol.<p>Ratatouille rust cli lib will be a good start.</p>
]]></description><pubDate>Thu, 04 Jun 2026 23:36:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48406124</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48406124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48406124</guid></item><item><title><![CDATA[New comment by stevenhuang in "Citing 'severe' math deficits, UC faculty demand a return to SAT tests for STEM"]]></title><description><![CDATA[
<p>I don't think anyone has ever doubted that.<p>The problem is our education system cannot support giving these students "unlimited time and attention".</p>
]]></description><pubDate>Mon, 01 Jun 2026 22:09:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48363305</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48363305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48363305</guid></item><item><title><![CDATA[New comment by stevenhuang in "Memory decline after menopause linked to loss of estrogen production in brain"]]></title><description><![CDATA[
<p>All of the claims above wrt memory reads quite mundane and adequately non assertive, but I'm a layperson.<p>I do believe it's well established that memory is associative. It's why roses are associated with love, because of Valentine's Day. If you see roses or smell roses, you will recall memories of your loved ones maybe, especially if you have given them roses.<p>Whether the decline in estrogen content of a room can be the dominant mechanism for momentary memory loss is a separate claim and more dubious sounding to me though (estrogen behaving like a pheromone??), but it's not like I have looked into this deeply so idk.</p>
]]></description><pubDate>Sat, 30 May 2026 16:39:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48338131</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48338131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48338131</guid></item><item><title><![CDATA[New comment by stevenhuang in "The real cost of owning a home"]]></title><description><![CDATA[
<p>> More housing supply is not a solution to landlords deciding to evict tenants or raise the rent for arbitrary reasons.<p>Irrelevant. Sensible tenancy laws are important but are unrelated to discussions of housing affordability.<p>To fix the affordability crisis the long term solution is to address the structural issues caused by imbalanced supply vs demand as result of market distortions.</p>
]]></description><pubDate>Wed, 27 May 2026 07:19:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48290813</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48290813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48290813</guid></item><item><title><![CDATA[New comment by stevenhuang in "The real cost of owning a home"]]></title><description><![CDATA[
<p>If you rent and remain invested in the market, it's a wash. So yes there's nothing wrong with renting. It just tends to not be effective for most people since they lack the self control and discipline to invest in stock equities, since lifestyle creep means they tend to overspend. A mortgage for most people is then a form of forced savings which helps them build equity through rising land values.</p>
]]></description><pubDate>Wed, 27 May 2026 04:32:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48289676</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48289676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48289676</guid></item><item><title><![CDATA[New comment by stevenhuang in "The real cost of owning a home"]]></title><description><![CDATA[
<p>Rent control is nice for the select few that get it but results in worse overall conditions for renters by distorting market conditions.<p>It's a stop gap band-aid feel good measure, not an effective long term solution.<p>More housing supply and densification is the solution.</p>
]]></description><pubDate>Wed, 27 May 2026 04:24:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48289616</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48289616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48289616</guid></item><item><title><![CDATA[New comment by stevenhuang in "Why Japanese companies do so many different things"]]></title><description><![CDATA[
<p>This is a not even wrong sort of misunderstanding to the realities of real politik. Your confusion is simple. You are unaware of the geopolitical games played at this level.<p>It is true there is anti Chinese propaganda but that is neither here nor there since posturing in this way is simply what competing world powers do.<p>Look past the institutional framing. The citizenry of all countries on this world are in reality on the same side far more often than opposed. The average American worker, Chinese worker, Russian worker, all want the same things: stability, prosperity, a future worth living.<p>It is in the self interest of states to promote nationalism and construct out-groups.<p>But that does not mean ordinary people should internalize such division. A wise citizenry knows to separate the notion of geopolitical competition from hatred towards ordinary citizens/culture of other countries, no matter what the state apparatus tries to tell them.</p>
]]></description><pubDate>Sat, 23 May 2026 07:24:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48245511</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48245511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48245511</guid></item><item><title><![CDATA[New comment by stevenhuang in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>Yes, I sympathize with you that it's tricky enough. I didn't find the first example with foo() as the author trying deliberately to be tricksy (ie saying the snippet itself is UB by construction), but I certainly see how it can be read that way. It again lends to how hard all of this is to explain!<p>One thing though, for parse() not only is it violating strict aliasing, it is also indeed violating alignment requirements.<p>To quote the standard again:<p>> 6.3.2.3. 755 If the resulting pointer is not correctly aligned for the pointed-to type, the behavior is undefined.</p>
]]></description><pubDate>Wed, 20 May 2026 22:06:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48214881</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48214881</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48214881</guid></item><item><title><![CDATA[New comment by stevenhuang in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>Edit: I think one part of the confusion is we were addressing different parts of the first example of the article. You were referencing the int foo(..) snippet (which I agree has no UB), but I was referencing the parse_packet() snippet (which has UB by construction), which was also part of the first example :).<p>You are beginning to understand. Yes, surprisingly, it is (1) that is being claimed.<p>The mere expression is alone UB. Yes, you read that right. In source code, it's already UB. Why? Because the ISO spec defined UB that way. But you see, what this means in practice ie whether "it works" is an entirely separate question and would be specific to toolchain, hardware, runtime, the alignment of the pointer in question, blah blah.<p>There is nuance here, and that's why this topic is debated to death, because it's hard to explain and it is genuinely complex.<p>When people say something is UB, they mean to say that the behaviour is undefined--wrt to ISO C.<p>The behaviour that actually matters IS defined wrt toolchain, hardware, runtime, alignment of pointer in question.<p>But that's exactly it--the latter is not what we mean when we say something is UB, when we say something is UB we are talking about the ISO C spec. The important follow up question then, when knowingly invoking UB, is to ensure your environment is "correct", because you have now crossed into realms entirely out of the auspices of the ISO C spec. Ergo, you are now in UB land; what you thought was the foundation of your codebase, the ISO C spec, has now turned into quicksand.<p>It is this implied undocumented dependence on factors external to the source code that is a huge source of bugs and surprisal.<p>So take this example from the article. Yes, it is UB by construction.<p>(edit: i copied the wrong fragment initially -- if you were talking about the int foo(const int* p) fragment, yes that block is not by construction UB)<p><pre><code>    bool parse_packet(const uint8_t\* bytes) {
            const int\* magic_intp = (const int*)bytes;   // UB!
            int magic_raw = foo(magic_intp);  // Probably crashes on SPARC.
            int magic = ntohl(magic_raw); // this is fine, at least.
            […]
    }
</code></pre>
Why?<p>> Because the compiler is not obligated to generate assembly instructions that work on unaligned pointers. Because it’s UB.<p>Does it actually work though? It might and it might not: there is simply no guarantee from the language. But that's all it says. It may very well work on your arch and platform and toolchain, indefinitely. But again circling back, for code written like this to be so brittle, that is why UB is to be avoided.<p>And to your point:<p>> that's where the debate should be, not illusorily ascribed to derefing pointers.<p>But that <i>is</i> where the debate is. People just do not understand what UB actually means. The article is correct: everything in C is UB. The takeaway is not that, therefore all C code is irredeemably broken (well, to some people it does mean that, anywho..). The takeaway is that most C code IS in fact more delicate than one may originally believe, because of the fact ISO C is under-specified, to allow for specialization dependent on toolchain/arch/hardware/what have you etc.<p>So it is incumbent on the developer when writing C to correctly acknowledge when they are invoking UB, and to do so intentionally with the awareness that things may just randomly break one day.</p>
]]></description><pubDate>Wed, 20 May 2026 19:59:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48213276</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48213276</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48213276</guid></item><item><title><![CDATA[New comment by stevenhuang in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>There is an important distinction here to the technical meaning of UB that is lost to many.<p>UB simply means the operation you are intending to perform has no defined semantic under the ISO C specification. That is all. Understand what this means but do not read further into it. It is easy to read further into this as you have and many do, and come to incorrect conclusions, and think this MUST result in incorrect behaviour, but this is not the claim. The claim is rather than once you write UB, you are no longer writing C the language with a defined spec, and that any manner of degrees of freedom (architecture, toolchain, etc) can now cause your code that was once behaving correctly to now behave incorrectly. That is the danger.<p>> That is a valid operation. Now if that pointer isn't valid (and being unaligned is one of many reasons it could be invalid) then calling the function with that invalid pointer will be UB.<p>This is incorrect. The moment you express this in source code, it is already UB wrt to the C abstract machine.<p>6.3.2.3. 755 If the resulting pointer is not correctly aligned for the pointed-to type, the behavior is undefined.<p><a href="https://c0x.shape-of-code.com/6.3.2.3.html" rel="nofollow">https://c0x.shape-of-code.com/6.3.2.3.html</a><p>The important distinction is to KNOW this is still UB; whether the operation yields the expected behaviour on your platform and architecture is completely a separate question.<p>The reason this is of utmost important is because the C compiler operates on the C abstract machine.<p>If you violate language invariants, the compiler can--keyword can--emit WRONG code and it will be CORRECT to do so because C unfortunately allows it to. When this happens it's silent and deadly and it's a pain to debug. The point of all this seeming language lawyering is not FUD, it is genuine frustration with these footguns of the language that we are trying to share with others. Understanding UB correctly really is what separates those that know C and those that "know" C.<p>Things will work and then they won't. This can be fine for most cases but not fine for others. If you use C in 2026 you need to understand this.<p>> come away more confused and scared<p>This is the correct take. One aught to be more confused and scared after learning about UB; the language simply leaves things under-specified and it is up to the developer to understand they are engaging in UB.<p>Once UB is acknowledged, one aught to impress upon themselves the software they build is dependent ever more on the whims of their particular compiler (clang/gcc), compiler flags (optimizations), architecture, and runtime environment.</p>
]]></description><pubDate>Wed, 20 May 2026 16:19:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48210141</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48210141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48210141</guid></item><item><title><![CDATA[New comment by stevenhuang in "Everything in C is undefined behavior"]]></title><description><![CDATA[
<p>I agree. I meant to elaborate more on how to think of UB.<p>For most C software on x86_64, UB is "fine" with very strong bunny ears. But it is preferable for one to, shall we say, write UB intentionally rather than accidentally and unknowingly. Having an awareness of all the minefields lends for more respect for the dangers of C code, it makes one question literally everything, and that would hopefully result in more correct code, more often.<p>On that note, on some RISC-V cores unaligned access can turn a single load into hundreds of instructions.<p>I think the problem is just that C is under specified for what we expect a language to provide in the modern age. It is still a great language, but the edges are sharp.</p>
]]></description><pubDate>Wed, 20 May 2026 08:08:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48204604</link><dc:creator>stevenhuang</dc:creator><comments>https://news.ycombinator.com/item?id=48204604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48204604</guid></item></channel></rss>