<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: _flux</title><link>https://news.ycombinator.com/user?id=_flux</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 16 Jun 2026 06:05:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=_flux" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by _flux in "TinyWind: A pixel pirate sailing game with real wind physics (380k+ kms sailed)"]]></title><description><![CDATA[
<p>Should there be sound? I think sounds would be essential for this.<p>Running on Linux Firefox.</p>
]]></description><pubDate>Mon, 15 Jun 2026 18:18:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48545097</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48545097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48545097</guid></item><item><title><![CDATA[New comment by _flux in "Malicious npm packages detected across Red Hat Cloud Services"]]></title><description><![CDATA[
<p>I think if they did it, then attackers would be able to iterate their attack against their own project, and once it passes the filters they could deploy for real.<p>I guess it could work better if it was enabled for only actual attack vectors projects.</p>
]]></description><pubDate>Tue, 02 Jun 2026 11:35:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48368868</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48368868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48368868</guid></item><item><title><![CDATA[New comment by _flux in "Malicious npm packages detected across Red Hat Cloud Services"]]></title><description><![CDATA[
<p>> Maybe NPM should run scanners before distributing malware?<p>I suspect there's always a human checking these results. If NPM straight out rejects an update due to suspected malware, they might end up rejecting correct updates as well. If they grant some "safe" patterns a special pass, they might get exploited.<p>So I think this only works if you have security scanners that are well-maintained and kept in secret. NPM folks could of course co-operate with some security companies to have a first stab with the releases before they are put to public access. At some point some parties might start want to have monetary compensation for such an arragnement, though.</p>
]]></description><pubDate>Mon, 01 Jun 2026 15:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48357893</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48357893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48357893</guid></item><item><title><![CDATA[New comment by _flux in "Rift: Better Alternative to Git Worktrees"]]></title><description><![CDATA[
<p>I don't have a reflink-able filesystem in this host, but I just tested that<p><pre><code>    echo 2 | sudo tee /proc/sys/vm/drop_caches
    time cp -rl foo bar
</code></pre>
took 2.6 seconds for 273000 files, so I think it's highly manageable. Reflinking might be a bit slower than hardlinking, though.</p>
]]></description><pubDate>Mon, 01 Jun 2026 10:15:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48354853</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48354853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48354853</guid></item><item><title><![CDATA[New comment by _flux in "Rift: Better Alternative to Git Worktrees"]]></title><description><![CDATA[
<p>How about cp --reflink? Supported by btrfs, bcachefs and zfs. It's quite not as fast as subvolumes in btrfs, but it should be plenty fast.<p>This should actually be a feature for git itself, if it's not already.</p>
]]></description><pubDate>Mon, 01 Jun 2026 09:45:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48354652</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48354652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48354652</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>So are you using MCP to do this?<p>I'm not saying MCP or the ways we use it cannot be extended to cover this use case, but my understanding is that nobody does it. But shell/code does, and more.</p>
]]></description><pubDate>Sun, 31 May 2026 08:36:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48344024</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48344024</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48344024</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>Let's say you have a jq MCP. How do you pass data in and out to/from it without the data also being processed as tokens?<p>That's really my only issue with MCPs.<p>With shell you can pass data from one component to another directly, not only being cheaper, faster, but also preserving complete integrity. While models nowadays seem to do data echoing well, there's always the chance they might not do it exactly.<p>There's no reason why a shell would not be able to limit abilities of a party using it as well, by virtue of just implementing only the desired functionality. What makes it more advanced in this context is the (standard) ability to express how to connect multiple components to each other, or to/from local storage. MCP does not have this.<p>Providing that does not have any inherent danger any more than jq's functions have an inherent danger. Actual execution of processes or real files does not need to be involved.</p>
]]></description><pubDate>Sun, 31 May 2026 04:28:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48343033</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48343033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48343033</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>jq cannot be just an MCP, unless it's acceptable that yuo  pass all data through the context. If that's not acceptable and you want to have it as tool, then you need some other way to handle the data.<p>I think the basic solution to this is to have a "static shell" but with modern tools for the agents, not actually executing other binaries. It could have things like jq, curl, piping and redirection to/from session files. Maybe even Python if it can be made safe. If not, then there are a lot of languages can be.</p>
]]></description><pubDate>Sat, 30 May 2026 17:02:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48338411</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48338411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48338411</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>As far as I know, the only way an MCP can provide you data that doesn't go into the context is by providing URLs to the data, and then the model uses e.g. curl to access that data for data manipulation purposes. You could also return result set ids and provide accessors to such data, but ultimately you'd need to provide powerful accessors to that result set to avoid polluting context. Things like shell with all its power already provides.<p>It seems like there's little point in MCP in that case. Maybe more point if it was a standard mechanism for MCP to provide additional data, in a completely compatible fashion with all other tools? You could perhaps even pass such URLs to other MCPs. You could have an MCP for jq for doing stream processing. Starts to look a lot like a shell, though.<p>Seems like MCPs could also be extended to store auxiliary data to your memory (or filesystem..), and then an additional extension to provide that kind of data as auxiliary data in the calls to MCP.<p>Well, even as is, MCP still provides a standard method of using OAuth for accessing such services. And you <i>must</i> use MCP if you wish to add something to the ChatGPT.com web service, so  it's easy to see why OpenAI folks are seeing companies going that way.</p>
]]></description><pubDate>Sat, 30 May 2026 10:34:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334734</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48334734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334734</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>Hmm, indeed, so maybe I could have all this as an MCP, so I can just easily pass any imaginable data manipulation inside it, and then also have it support calling other MCPs, all inside that one MCP, to avoid filling context with intermediate data..<p>Sounds a lot like a shell to me.</p>
]]></description><pubDate>Sat, 30 May 2026 10:20:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48334648</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48334648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48334648</guid></item><item><title><![CDATA[New comment by _flux in "MCP is dead?"]]></title><description><![CDATA[
<p>Not having access to the shell is a big hindrance. I have my agent access Gitlab and Jira via CLI tools and in <i>so</i> many cases jq or python is used to manipulate or combine the data into a more useful format, making use of pipes and temporary files. You can of course limit what an agent can do, most easily by not giving it access to things it shouldn't do. I suppose there are no existing easy gateway methods to grant fine-grained OS-level permissions to add such things back, except perhaps `sudo` and similar tools.<p>MCPs are impossible to combine this way: everything you feed or get from them goes though the model and consumes tokens.</p>
]]></description><pubDate>Sat, 30 May 2026 07:00:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48333454</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48333454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48333454</guid></item><item><title><![CDATA[New comment by _flux in "Slumber a TUI HTTP Client"]]></title><description><![CDATA[
<p>Virtual terminal is surprisingly capable, it even has word delete feature! And shells have some nice history features which I'm sure would become even more familiar if one had to use them (as I suppose was the case a long time ago), such as !$ that expands to the last argument of previous entry.</p>
]]></description><pubDate>Sat, 23 May 2026 09:06:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48246058</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48246058</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48246058</guid></item><item><title><![CDATA[New comment by _flux in "Slumber a TUI HTTP Client"]]></title><description><![CDATA[
<p>But they are just convenience features, not in my opinion the defining property. They basically work just the same without them.</p>
]]></description><pubDate>Fri, 22 May 2026 08:30:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48233381</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48233381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233381</guid></item><item><title><![CDATA[New comment by _flux in "Slumber a TUI HTTP Client"]]></title><description><![CDATA[
<p>On the other hand, there are many elements in the user interface that are not text. In fact, I think it would be quite understandable if one even separated REPLs like bash or octave to be "text user interfaces" while applications that make use of character placement and border special characters "terminal user interfaces", because they use means beyond text stream to communicate with the user. One might even render straight up graphics to a terminal [emulator application].<p>Even X had a separate application called xterm 42 years ago: the complete X system was not to my knowledge called a terminal system, except perhaps when discussing the dedicated client devices, such as VT1300. Also the term "virtual terminal" as far as I know has always referred to a the kind of interface this application is making use of.<p>So I think we can just accept that the term is overloaded such that "terminal" refers to both of these situations, as there is no historical precedent to have it exclude the other situation, and the term "terminal-based application" is completely clear to a rational listener.</p>
]]></description><pubDate>Fri, 22 May 2026 07:14:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48232949</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48232949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48232949</guid></item><item><title><![CDATA[New comment by _flux in "Show HN: Hsrs – Type-Safe Haskell Bindings Generator for Rust"]]></title><description><![CDATA[
<p>It would be so nice if these "well typed languages" would be able to interact better with each other. Alas, the GC will probably cause some friction, e.g. the ocaml-rs package makes this pretty visible: <a href="https://github.com/zshipko/ocaml-rs/blob/master/examples/rust.rs" rel="nofollow">https://github.com/zshipko/ocaml-rs/blob/master/examples/rus...</a> . (I have not used either of these projects.)<p>Maybe the GC would be less of a problem if we didn't want to have the best possible performance as well.</p>
]]></description><pubDate>Tue, 19 May 2026 08:45:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48190839</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48190839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48190839</guid></item><item><title><![CDATA[New comment by _flux in "Prolog Coding Horror"]]></title><description><![CDATA[
<p>Many years ago Maemo (the mobile OS from Nokia) had the profile manager (day mode/night mode etc) written in Prolog. To me it seems like it's a very appropriate application for it.</p>
]]></description><pubDate>Mon, 18 May 2026 07:36:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48176537</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48176537</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48176537</guid></item><item><title><![CDATA[New comment by _flux in "Zerostack – A Unix-inspired coding agent written in pure Rust"]]></title><description><![CDATA[
<p>To me it would certainly make sense if the protocol just said "append this text to context window id/sha256", in particular as the data is cached in tensor level in the provider side, so they need to first do that lookup anyway. So I would be surprised if they don't have that.<p>In addition, this protocol could make it more transparent to say "oh we cannot proceed as we dropped the this cache, are you sure you want to proceed and consume a whole lot of expensive uncached tokens?". Oh, maybe that's a reason not to do it..</p>
]]></description><pubDate>Sun, 17 May 2026 08:25:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48167046</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48167046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48167046</guid></item><item><title><![CDATA[New comment by _flux in "Tesla Wall Connector bootloader bypasses the firmware downgrade ratchet"]]></title><description><![CDATA[
<p>So, this website being called "Hacker news", means.. ?<p>While hacking is used to to refer to illicit activities, I do actually believe that the same activities can also be performed e.g. on your own devices, or with permission, and still be called hacking. So in my view, I do not believe legality is the defining term, but the actual things you do; oftentimes useful for illegal activities.<p>But I must assume there is a group of people who consider the term to be loaded with that exclusion, so I should take this into account.<p>However, to me "hacking your own devices" as a concept seems crystal clear, and is not a contradictory term.</p>
]]></description><pubDate>Sat, 16 May 2026 10:34:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48158875</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48158875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48158875</guid></item><item><title><![CDATA[New comment by _flux in "Gyroflow: Video stabilization using gyroscope data"]]></title><description><![CDATA[
<p>I actually don't think that's possible, if you assume the objects in the video can also shake and the intent is to eliminate only the camera shaking.</p>
]]></description><pubDate>Sat, 16 May 2026 09:22:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48158454</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48158454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48158454</guid></item><item><title><![CDATA[New comment by _flux in "Gyroflow: Video stabilization using gyroscope data"]]></title><description><![CDATA[
<p>I think gyroscopic data still can have the edge if it has higher sampling rate than the video: then it could be used for removing blur from individual frames.<p>I also expect purely gyroscopic approach to be much lighter compute-wise.</p>
]]></description><pubDate>Fri, 15 May 2026 09:13:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48146329</link><dc:creator>_flux</dc:creator><comments>https://news.ycombinator.com/item?id=48146329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48146329</guid></item></channel></rss>