<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: thefaux</title><link>https://news.ycombinator.com/user?id=thefaux</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 19 Jun 2026 17:28:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thefaux" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thefaux in "Want to write a compiler? Just read these two papers (2008)"]]></title><description><![CDATA[
<p>Syntax and semantics are never orthogonal and you always need syntax so it must be considered from the start. Any reasonable syntax will quickly become much more pleasant to generate an ast or ir than, say, manually building these objects in the host language of the compiler which is what the semantics first crowd seem to propose.<p>It also is only the case that most of the work is the backend for some compilers, though of course all of this depends on how backend is defined. Is backend just codegen or is it all of the analysis between parsing and codegen? If you target a high level language, which is very appropriate for one's first few compilers, the backend can be quite simple. At the simplest, no ast is even necessary and the compiler can just mechanically translate one syntax into another in a single pass.</p>
]]></description><pubDate>Wed, 15 Apr 2026 16:30:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47781451</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=47781451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47781451</guid></item><item><title><![CDATA[New comment by thefaux in "Car Seats as Contraception"]]></title><description><![CDATA[
<p>Cold-blooded cost/benefit analysis is an abdication of moral reasoning and responsibility. There is no such thing as an abstract life, only concrete realizations. What if the victim of an avoidable fatality is the one person who had they survived had the skills/insight/vision to literally save humanity from extinction?<p>I can accept an argument that there are societal tradeoffs that we must make that involve the sacrifice of human lives (obviously we should not try to remove risk to the extent that we live in sterile protective bubbles), but we should be honest about what we are doing and not hide behind some phony numbers that mask the fact that money, and hence numerical value, isn't an imaginary construct and that lives are fungible under this value system.<p>I further think that if we have an honest conversation instead of hiding behind quantitative analysis, we may actually have a productive dialogue about risk tradeoff and accountability. Perhaps if there is a wide gap between the bean counters and the bleeding hearts, there is a third possibility that needs to be explored.</p>
]]></description><pubDate>Tue, 31 Mar 2026 15:38:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47588995</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=47588995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47588995</guid></item><item><title><![CDATA[New comment by thefaux in "Two studies in compiler optimisations"]]></title><description><![CDATA[
<p>I have written a compiler for a language at more or less this abstraction level. It provides access to 16 general purpose registers and a set of virtual instructions that operate on these registers. I program on an intel mac so the virtual instructions all map directly to x86_64 instructions, but it would be very straightforward to write an arm backend that may compose multiple arm instructions for the equivalent x86_64 behavior. I also could support virtual registers for platforms with fewer than 16 registers.<p>Having this compiler, which is extremely fast (it is self hosted and self compiles its own 9750K line source file in 15ms on my 2019 macbook pro and I've seen throughout ranging from 500K to 10M lines per second for other programs), I have little interest in ever using LLVM again. I would rather just write optimal code than pray that LLVM does a good job for me. For equivalent programs, I find LLVM can be anywhere from 50-10000x slower than my compiler and doesn't necessarily produce better code. I can produce examples of LLVM code becoming significantly worse at -O2 than at -O0.<p>The only real utility LLVM offers me at this point is that I could use it to figure out what an optimal solution to a small subprogram might be by compiling a small c program and inspecting the output. Then I can just directly write the optimal solution instead of being perpetually bogged down by llvm's bloat as well as also being exposed to unexpected regressions in the optimizer and/or having to learn its strange incantations to get desired performance.</p>
]]></description><pubDate>Thu, 26 Mar 2026 21:14:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47535839</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=47535839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47535839</guid></item><item><title><![CDATA[New comment by thefaux in "Java 26 is here"]]></title><description><![CDATA[
<p>> Why would anyone create a new language now? The existing ones are "good enough", and without a body of examples for LLMs to train on, a new language has little chance getting traction.<p>Compiler writing can be an art form and not all art is for mass consumption.<p>> Java has won (alongside many other winners of course), now the AI drawbridge is being raised to stop new entrants and my pick is that Java will still be here in 50 years time, it's just no humans will be creating it.<p>This makes no sense to me. If AI possesses intelligence then it should have no problem learning how to use a new language. If it doesn't possess intelligence, we shouldn't be outsourcing all of our programming to it.</p>
]]></description><pubDate>Wed, 18 Mar 2026 00:52:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47420384</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=47420384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47420384</guid></item><item><title><![CDATA[New comment by thefaux in "Writing code is cheap now"]]></title><description><![CDATA[
<p>It is interesting though that he evidently didn't notice this 2.5X productivity increase until you pointed it out to him.</p>
]]></description><pubDate>Tue, 24 Feb 2026 17:23:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47139817</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=47139817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47139817</guid></item><item><title><![CDATA[New comment by thefaux in "Coding is when we're least productive"]]></title><description><![CDATA[
<p>Just because it is small doesn't mean that it isn't important.</p>
]]></description><pubDate>Sat, 31 Jan 2026 12:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46835916</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46835916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46835916</guid></item><item><title><![CDATA[New comment by thefaux in "The Sovereign Tech Fund invests in Scala"]]></title><description><![CDATA[
<p>The lead maintainer of sbt does it as a labor of love. I am very curious if he actually will be receiving any money.</p>
]]></description><pubDate>Thu, 29 Jan 2026 16:43:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46812616</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46812616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46812616</guid></item><item><title><![CDATA[New comment by thefaux in "A few random notes from Claude coding quite a bit last few weeks"]]></title><description><![CDATA[
<p>The examples that you and others provide are always fundamentally uninteresting to me. Many, if not most, are some variant of a CRUD application. I have yet seen a single ai generated thing that I personally wanted to use and/or spend time with. I also can't help but wonder what we might have accomplished if we devoted the same amount of resources to developing better tools, languages and frameworks to developers instead of automating the generation of boiler plate and selling developer's own skills back to them. Imagine if open source maintainers instead had been flooded with billions of dollars in capital. What might be possible?<p>And also, the capacities of llms are almost besides the point. I don't use llms but I have no doubt that for any arbitrary problem that can be expressed textually and is computable in finite time, in the limit as time goes to infinity, an llm will be able to solve it. The more important and interesting questions are what _should_ we build with llms and what should we _not_ build with them. These arguments about capacity are distracting from these more important questions.</p>
]]></description><pubDate>Wed, 28 Jan 2026 18:08:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46799239</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46799239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46799239</guid></item><item><title><![CDATA[New comment by thefaux in "Your brain on ChatGPT: Accumulation of cognitive debt when using an AI assistant"]]></title><description><![CDATA[
<p>This feels like it conflates problem solving with the production of artifacts. It seems highly possible to me that the explosion of ai generated code is ultimately creating more problems than it is solving and that the friction of manual coding may ultimately prove to be a great virtue.</p>
]]></description><pubDate>Thu, 22 Jan 2026 12:02:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46718146</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46718146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46718146</guid></item><item><title><![CDATA[New comment by thefaux in "Sergey Brin's Unretirement"]]></title><description><![CDATA[
<p>I do see this as a bad thing and an abdication of taking responsibility for one's own life. As was recently put to me after the sudden death of a friend's father (who lived an unusually rich life): everyone dies, but not everyone truly lives.</p>
]]></description><pubDate>Wed, 07 Jan 2026 16:13:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46528107</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46528107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46528107</guid></item><item><title><![CDATA[New comment by thefaux in "Sergey Brin's Unretirement"]]></title><description><![CDATA[
<p>At the end of life, Maslow became convinced that self-transcendence was the pinnacle of the hierarchy. Strong identification with work will not get one to that final step. I am not sure if ai is a path to self transcendence or self annihilation, but it's interesting to ponder in the case of some like Brin.</p>
]]></description><pubDate>Wed, 07 Jan 2026 15:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46527751</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46527751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46527751</guid></item><item><title><![CDATA[New comment by thefaux in "C Is Best (2025)"]]></title><description><![CDATA[
<p>I truly believe that the cult of c performance optimization has done more harm than good. It is truly evil to try and infer, or even worse, silently override programmer intent. Many if not most of the optimizations done by llvm and gcc should be warnings, not optimizations (dead code elimination outside of LTO being a perfect example).<p>How much wasted work has been created by compiler authors deciding that they know better than the original software authors and silently break working code, but only in release mode? Even worse, -O0 performance is so bad that developers feel obligated to compile with -O2 or more. I will bet dollars to donuts that the vast majority of the material wins of -O2 in most real world use cases is primarily due to better register allocation and good selective inlining, not all the crazy transformations and eliminations that subtly break your code and rely on UB. Yeah, I'm sure they have some microbenchmarks that justify those code breaking "optimizations" but in practice I'll bet those optimizations rarely account for more than 5% of the total runtime of the code. But everyone pays the cost of horrifically slow build times as well as nearly unbounded developer time loss debugging the code the compiler broke.<p>Of course, part of the problem is developers hating being told they're wrong and complaining about nanny compilers. In this sense, compiler authors have historically been somewhat similar to sycophantic llms. Rather than tell the programmer that their code is wrong, they will do everything they can to coddle the programmer while behind the scenes executing their own agenda and likely getting things wrong all because they were afraid to honestly tell the programmer there was a problem with their instructions.</p>
]]></description><pubDate>Tue, 06 Jan 2026 15:57:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46513950</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46513950</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46513950</guid></item><item><title><![CDATA[New comment by thefaux in "Building a Rust-style static analyzer for C++ with AI"]]></title><description><![CDATA[
<p>Honestly, I found this piece depressing. Life is too short and precious to waste on crappy software.<p>So often the question ai related pieces ask is "can ai do X?" when by far the more important question is "should ai do X?" As written, the piece reads as though the author has learned helplessness around c++ and their answer is to adopt a technology that leaves them even more helpless, which they indeed lament. I'd challenge the author to actually reflect on why the are so attached to this legacy software and why they cannot abandon it if it is causing this level of angst.</p>
]]></description><pubDate>Mon, 05 Jan 2026 16:19:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46500632</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46500632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46500632</guid></item><item><title><![CDATA[New comment by thefaux in "The suck is why we're here"]]></title><description><![CDATA[
<p>Sure, but I prefer to work on projects that are fundamentally sound and high impact. Indeed, I have certainly noticed a pattern that very often ai enthusiasts exalt its capabilities to automate work that appears to be of questionable value in the first place, apart from the important second order property of keeping the developer sheltered and fed.</p>
]]></description><pubDate>Sun, 04 Jan 2026 05:42:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46485294</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46485294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46485294</guid></item><item><title><![CDATA[New comment by thefaux in "2026: The Year of Java in the Terminal?"]]></title><description><![CDATA[
<p>> Try a GraalVM native image. Milliseconds. Gone.<p>Try building a GraalVM native image. Minutes gone.</p>
]]></description><pubDate>Wed, 31 Dec 2025 16:46:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46445774</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46445774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46445774</guid></item><item><title><![CDATA[New comment by thefaux in "Functional programming and reliability: ADTs, safety, critical infrastructure"]]></title><description><![CDATA[
<p>This logic is both too broad and rigid to be of much practical use[1]. It needs to be tightened to compare languages that are identical except for static type checks, otherwise the statically typed language could admit other kinds of errors (memory errors immediately come to mind) that many dynamic languages do not have and you would need some way of weighing the relative cost to reliability of the different categories of errors.<p>Even if the two languages are identical except for the static types, then it is clearly possible to write programs that do not have any runtime type errors in the dynamic language (I'll leave it as an exercise to the reader to prove this but it is very clearly true) so there exist programs in any dynamic language that are equally reliable to their static counterpart.<p>[1] I also disagree with your definition of reliability but I'm granting it for the sake of discussion.</p>
]]></description><pubDate>Mon, 29 Dec 2025 00:21:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46415959</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46415959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46415959</guid></item><item><title><![CDATA[New comment by thefaux in "Avoid Mini-Frameworks"]]></title><description><![CDATA[
<p>Sometimes someone genuinely has a clear vision that is superior to the status quo and is capable of executing it, improving quality, performance and maintainability. The challenge is distinguishing these cases from the muddled abstractions that make everything worse. This argument feels a bit like "no one gets fired for buying IBM." Blanket advice like this is an invitation to shut down thinking and stymie innovation. At the same time, the author is not wrong that imposing a bad abstraction on an org is often disastrous. Use your powers of reason to distinguish the good and bad cases.</p>
]]></description><pubDate>Thu, 25 Dec 2025 16:28:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46385336</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46385336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385336</guid></item><item><title><![CDATA[New comment by thefaux in "The post-GeForce era: What if Nvidia abandons PC gaming?"]]></title><description><![CDATA[
<p>I had a roommate who failed out of college because he was addicted to Everquest (yes, Everquest, and yes I am middle-aged). Your last paragraph is barely even hyperbolic. Do you think unemployed young men who live at home with their parents, do little to no physical activity, spending most of their time playing videogaming and/or trolling on the internet are not stuck destroying their bodies (and minds) in a spiral of deadly addiction? Maybe you are a functional gamer, but there are many, many gamers who are not and this technology is maybe a quasi effective cope for our punishing society writ large, but from the outside, gaming addicts appear to be living a sad and limited life.<p>Or to put it more succinctly, would you want your obituary to lead with your call of duty prowess?</p>
]]></description><pubDate>Tue, 23 Dec 2025 20:06:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46368916</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46368916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46368916</guid></item><item><title><![CDATA[New comment by thefaux in "Show HN: Books mentioned on Hacker News in 2025"]]></title><description><![CDATA[
<p>1 Judge not, that ye be not judged.<p>2 For with what judgment ye judge, ye shall be judged: and with what measure ye mete, it shall be measured to you again.<p>3 And why beholdest thou the mote that is in thy brother's eye, but considerest not the beam that is in thine own eye?</p>
]]></description><pubDate>Mon, 22 Dec 2025 01:26:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46350398</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46350398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46350398</guid></item><item><title><![CDATA[New comment by thefaux in "Show HN: I Ching simulator with accurate Yarrow Stalk probabilities"]]></title><description><![CDATA[
<p>The canonical western text is Richard Wilhelm's german interpretation, translated to english by Cary Baynes. This site has the hexagram descriptions from that translation: <a href="https://www.iching.online/wilhelm.php" rel="nofollow">https://www.iching.online/wilhelm.php</a><p>I recommend buying the book though. It is fascinating whether or not you buy into it.</p>
]]></description><pubDate>Mon, 15 Dec 2025 19:31:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46279263</link><dc:creator>thefaux</dc:creator><comments>https://news.ycombinator.com/item?id=46279263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46279263</guid></item></channel></rss>