<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: alembic_fumes</title><link>https://news.ycombinator.com/user?id=alembic_fumes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 08 Sep 2026 16:44:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=alembic_fumes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by alembic_fumes in "Highlighting My Code Based on How Much I Care"]]></title><description><![CDATA[
<p>I did somewhen toy with the idea of comparing how a line of code is written to what an LLM-based next-token-prediction would emit for the same line. Then it might be possible to highlight the pieces of code that most differ from what an LLM would have written.<p>The base form isn't too useful by itself, but I expect if one would "seed" the LLM with a prompt about focusing specifically on a particular class of errors, it might be possible to find violations by seeing where the code completely deviates from what an LLM would have written.<p>Never got around to doing anything with this, but I expect a prototype should take no more than a day with some agent-assisted coding ;) Tell me how it went if you try!</p>
]]></description><pubDate>Mon, 31 Aug 2026 14:40:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49510351</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=49510351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49510351</guid></item><item><title><![CDATA[Crossing Boundaries with Integration Events]]></title><description><![CDATA[
<p>Article URL: <a href="https://deniskyashif.com/2026/08/29/crossing-boundaries-with-integration-events/">https://deniskyashif.com/2026/08/29/crossing-boundaries-with-integration-events/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49498506">https://news.ycombinator.com/item?id=49498506</a></p>
<p>Points: 17</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 30 Aug 2026 13:31:07 +0000</pubDate><link>https://deniskyashif.com/2026/08/29/crossing-boundaries-with-integration-events/</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=49498506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49498506</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Looking at the data behind prediction markets"]]></title><description><![CDATA[
<p>> Someone has to put in the effort to make the markets accurate, and that someone has to be paid and that money has to come from somewhere.<p>The foundational idea of prediction markets is that this payment comes from <i>the market itself</i>. If you have a market full of suckers, the experts with real knowledge are incentivized to participate in the market to profit from the gap between what the market forecasts and their own expert forecast. This in turn will drive the market's prediction to be more accurate by incorporating the expert knowledge in directly form of the their "bets". In effect the market says put up or shut up to everyone who thinks they know better the market.<p>Viewed like this, prediction markets aren't much different from stock markets that also work by the premise of (active) investors claiming to know better than the market. It all follows from the efficient-market hypothesis.<p>All this said, I find the trend of prediction markets being used to predict what are effectively mostly random outcomes seems a bit strange. But on the other hand, the mere existence of such markets does provide financial incentive to come up with new, better ways to predict these outcomes. This itself would be very useful, at least as long as the subject is more akin to predicting the weather than the movements of a football.<p>Ultimately, I'm still an optimist when it comes to prediction markets.</p>
]]></description><pubDate>Sat, 09 May 2026 08:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=48073185</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=48073185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48073185</guid></item><item><title><![CDATA[New comment by alembic_fumes in "The Cognitive Dark Forest"]]></title><description><![CDATA[
<p>> This is the true horror of the cognitive dark forest: it doesn’t kill you. It lets you live and feeds on you. Your innovation becomes its capabilities. Your differentiation becomes its median.<p>Oh no, the terrible dystopia where anyone can benefit from anyone else's good ideas without restrictions! And without any gatekeepers, licensing agreements, copyright, and not even a lawyer in sight!<p>If <i>this</i> is the dark future that AI use brings for us, I say bring it. Even if it means that somebody gets filthy rich in the process, while making the rest of the humanity better off.</p>
]]></description><pubDate>Sun, 29 Mar 2026 21:19:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47567447</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=47567447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47567447</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Why I love NixOS"]]></title><description><![CDATA[
<p>The author <i>almost</i> touches on the one more topic that I adore about Nix, but ends up just so missing it: NixOS is absolutely incredible for its ability to be configured through AI tooling. And I don't mean that it's better than other operating systems, I mean that it's the only game in town.<p>I've been using Nix, both the package manager and the operating system, for years by now. I agree with all of the author's points, it really does deliver, the declarative nature is superb, and there's this constant sense of "hey my stuff is not breaking by itself" when working on it. And it's that declarative, rollback-able, file-based foundation, that makes it the perfect operating system for telling a coding agent to go to town on.<p>Would I trust Claude to switch my audio stack from Pulseaudio to Pipewire on Ubuntu? Would I trust Codex to install Hyprland on Fedora so I can test out the session? No, in fact I would not trust any agent to do any of those things on any other operating system. But I would trust even goddamn Grok to do that on NixOS, because I can 1) audit the changes before anything is done, and 2) rollback, rollforward, roll-whatever-the-way-I-want-even-on-the-floor-if-I-want-to because of the years of built up confidence proving that IT JUST WORKS.<p>I concede that this is turning into an unhinged loveletter to Nix, but really, it's the only operating system that lets one operate with this level of confidence. And I know most people don't care about that, since most people don't usually bother to tweak their OSes or switch out window managers, but as someone that does that, I'm never going back to mutable distros. This security is my table-stakes now, and the others aren't willing to pay up.<p>So for the developers out there on the lookout for their "Year of the Linux Desktop 2026" -distribution, if you're already using AI assistants, give NixOS a try. Maybe start with this in an empty Git repository: "Hey Claude, I wanna try NixOS. Make me a Flake-based starter config using Gnome that I can demo in a virtual machine. If nix isn't yet installed, install it via determinate-systems installer. Include a "vm" target in the flake for building the image, and a small bash script that builds and launches the VM using whatever virtualization is available on my platform."</p>
]]></description><pubDate>Sun, 22 Mar 2026 21:00:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482095</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=47482095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482095</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Our Experience with I-Ready"]]></title><description><![CDATA[
<p>> Software enables the enforcement of arbitrary rules that no human being would have the heart or foolishness to enforce.<p>For a long time I've been wanting to write an essay about this exact topic. Once you start paying attention, it's everywhere: the automatic upselling attempts at self-service kiosks, the automatic pre-filled tipping inputs in the card payment terminals, and some horribly long forms that require extremely pedantic input filled just correctly, that no human would bother on paper.<p>I've come to think of this as a kind of automated tyranny. Few real humans would have the heart to keep trying to upsell with such persistence when most of their customers reject the sale. And very few humans would dare to ask every single human to tip a pre-filled amount of 10% or even up in such a bold manner. But because "the machine does it", there's no alternative but to accept it, or to boycott the machines.<p>My condolences to the author for having to witness their children live through such an experience. It sounds like hell.</p>
]]></description><pubDate>Sat, 14 Mar 2026 10:27:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47375195</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=47375195</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47375195</guid></item><item><title><![CDATA[New comment by alembic_fumes in "TypeScript 6.0 RC"]]></title><description><![CDATA[
<p>> strict is now true by default<p>I would still have a full head of hair if this had been the case since the beginning. Nonetheless I am glad that we got here in the end.</p>
]]></description><pubDate>Fri, 06 Mar 2026 21:31:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47281349</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=47281349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47281349</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Minions: Stripe’s one-shot, end-to-end coding agents"]]></title><description><![CDATA[
<p>> Over a thousand pull requests merged each week at Stripe are completely minion-produced, and while they’re human-reviewed, they contain no human-written code.<p>I pity the senior engineer, demoted from a helmsman into a human breakwater, tasked to stand steady against an ever-swelling sea of AI slop.</p>
]]></description><pubDate>Sun, 22 Feb 2026 13:48:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47110971</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=47110971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47110971</guid></item><item><title><![CDATA[New comment by alembic_fumes in "OpenAI to begin testing ads on ChatGPT in the U.S."]]></title><description><![CDATA[
<p>I invite you to ponder the question: would a worldwide ban of all advertising have a greater or smaller impact on environment-destroying activity than banning of all air travel?<p>I would argue for "greater", and from that it rather naturally follows that advertisement and marketing indeed kills humanity.</p>
]]></description><pubDate>Fri, 16 Jan 2026 18:43:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46650226</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=46650226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46650226</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Stop Forwarding Errors, Start Designing Them"]]></title><description><![CDATA[
<p><i>Hard</i> disagree. Most of the Go code that I've ever worked with has been littered with one or another variant of the following:<p><pre><code>  value, err := doFallibleOperation()
  if err != nil {
    return nil, fmt.Errorf("fallible operation failed - %w", err)
  }
</code></pre>
That error construct exclusively works for the poor human who has to debug the system, looking at its logs. No call stacks and, crucially, no automatic handling.<p>At least with Rust's enums it is possible to make errors automatically actionable. If one skips that part and opts for anyhow because it's too much work, that's really a user problem.<p>I like the author's idea of "designing" errors by exposing their actionability in the interface a lot. I'm not overall sold on whether that should be the primary categorization, but <i>at least</i> including a docstring to each enum variant about what can be done about the matter sounds like a nice way to improve most code a little bit.</p>
]]></description><pubDate>Sun, 04 Jan 2026 19:48:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46491491</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=46491491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46491491</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Maybe comments should explain 'what' (2017)"]]></title><description><![CDATA[
<p>Back when I programmed in Haskell, I also had a similar question about the extremely terse variable names that pop up everywhere. I'd wonder, why is this "x" and "xs" instead of "item" and "items" or "businessName" and "businessNames" or whatever. Eventually I found this (paraphrased) answer that made it all click:<p>The specificity or abstractness of a (variable) name relates to the values that it can hold. So when you have a <i>very</i> abstract function whose inputs can be of almost any type, naming those inputs in an overly-specific manner is an exact inverse of the failure of giving an overly generic to name highly constrained parameter.<p>Examples of correct naming:<p><pre><code>  func firstWord(s string) string { ... }

  func bidShortcodePrefix(businessId string) string { ... }
</code></pre>
Examples of incorrect naming:<p><pre><code>  func firstWord(strWithOptionalSpaces string) string { ... }

  func bidShortcodePrefix(s string) string { ... }

</code></pre>
All this said, I do agree with your original take on the comments. I much prefer having human-readable explanations inline with anyhow non-trivial code. If nothing else, they really make it easier to correctly fix the code if a bug is found much later.</p>
]]></description><pubDate>Sun, 04 Jan 2026 13:38:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46487827</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=46487827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46487827</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Parental controls aren't for parents"]]></title><description><![CDATA[
<p>This pervasive desire to block, protect, monitor, and control your children's online activities through nebulous supervision tools seems like a particularly American solution to a particularly American problem. Much like how little Timmy simply can't go out to play without a GPS anklet and an air tag behind each ear, so too can't he go online without a supervised account on a supervised device on a supervised connection.<p>Take an earnest interest in your child's activities, both online and offline. Guide them how to behave in strange, even weird and scary situations with strangers. Be the reliable adult in their life to whom they can tell when they encounter something unpleasant, online or offline. Under the guidance of a parent your children will be safer than behind any amount of protective layers that these so called child-safety apps provide, and they will also know how to help their friends to navigate risk and avoid danger.<p>Or put another way, if your child must eventually swim in the sea, would rather that they know how to swim, or strap a fifth flotation device onto their back?</p>
]]></description><pubDate>Fri, 02 Jan 2026 15:30:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46465700</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=46465700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46465700</guid></item><item><title><![CDATA[New comment by alembic_fumes in "We Need to Die"]]></title><description><![CDATA[
<p>This comment section is for some reason filled with truly incredulous takes, with many seemingly all too willingly embracing the inevitability of personal oblivion awaiting us at the end of our lives. I wonder what solace it brings to entertain the paradox of dying as a way to bring life meaning, and where it ranks between whatever the local pastor or suburb's heroin dealer are peddling.<p>I suspect our education system is at fault. Too many children in the modern western society grow up completely isolated from philosophical thinking and the teachings of both ancient as contemporary philosophers. As a consequence they never get exposure to the various deep, tragic, hilarious, and most-of-all diverse ways that we as humans have tried to build meaning into our fleeting lives, triumphant or struggling.<p>To me, this quote from the article best showcases the status quo:<p>> And here's what I've been circling around: I think the only reason any of this is true is because of death. Without that horizon, we could defer everything indefinitely.<p>If you agree with that, I cannot stop you. But maybe I can shake you just a little with a different, more individualistic viewpoint:<p>Whatever life you have, in whatever circumstances, is the one and only life that you do have. The way it has been is the only way that it can ever be, but the future is whatever you make of it, and it cannot be anything else.<p>Whatever you experience in life, is all that there is to experience. If you yourself don't climb a mountain, you will never know what climbing that mountain is like. And if you hear a tree fall in a forest but then forget about it, it no longer has made a sound.<p>Nobody else can do this experiencing for you: much like you didn't directly experience your parents' lives, your children won't directly experience yours. But as long as you yourself are alive, you get to experience your parents and children through the only single way that you can: through yourself.<p>And so to accept death for yourself is to accept the end of all experience that has ever been. It is to accept death not only yourself, but also for your parents, children, all the climbed mountains and sounds of fallen trees, and all life and the universe itself. For once the one singular entity in the entire universe that has been capable of experiencing is gone, it's as if nothing had ever existed.<p>So try to stick around and keep experiencing? There really isn't, and hasn't ever been, anything else.<p>Post-mortem survivalists may disagree.</p>
]]></description><pubDate>Tue, 09 Dec 2025 22:26:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46211582</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=46211582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46211582</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Cancellations in async Rust"]]></title><description><![CDATA[
<p>I see. Do you suppose that the origin of these bugs is more about the difficulty of reasoning about the execution of deep async stacks, or does it come down to the developers holding an incorrect mental model of the Rust futures in their minds?<p>I am asking because I've noticed that many developers with previous experience from "task-based" languages (specifically the JS/TS world) tend to grasp the basics of Rust async quickly enough, but then run into expectation-misalignment related problems similar to the examples that you used in your post. That in turn has made want to understand whether it is the Rust futures that are themselves difficult or strange, or whether it's a case of the Rust futures appearing simple and familiar, even though they are completely different in very subtle ways. I suppose that it's a combination of both.</p>
]]></description><pubDate>Fri, 03 Oct 2025 21:39:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=45468114</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=45468114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45468114</guid></item><item><title><![CDATA[New comment by alembic_fumes in "Cancellations in async Rust"]]></title><description><![CDATA[
<p>I'm not understanding what the supposed problem with these futures getting cancelled is. Since futures are not tasks, as the post itself acknowledges, does it not logically follow that one should not expect futures to complete if the future is not driven to completion, for one reason or another? What else could even be expected to happen?<p>The examples presented for "cancel unsafe" futures seem to me like the root of the problem is some sort of misalignment of expectations to the reality:<p>Example 1: one future cancelled on error in the other<p>let res = tokio::try_join!(
    do_stuff_async(),
    more_async_work(),
);<p>Example 2: data not written out on cancellation<p>let buffer: &[u8] = /* ... */;
writer.write_all(buffer)?;<p>Both of these cases are claimed to not be cancel-safe, because the work gets interrupted and so not driven to completion. But again, what else is supposed to happen? If you want the work to finish regardless of the async context being cancelled, then don't put it in the same async context but spawn a task instead.<p>I feel like I must be missing something obvious that keeps me from understanding the author's issue here. I thought work getting dropped on cancellation is exactly how futures are supposed to work. What's the nuance that I'm missing?</p>
]]></description><pubDate>Fri, 03 Oct 2025 21:11:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45467830</link><dc:creator>alembic_fumes</dc:creator><comments>https://news.ycombinator.com/item?id=45467830</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45467830</guid></item></channel></rss>