<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: shiomiru</title><link>https://news.ycombinator.com/user?id=shiomiru</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 10 Oct 2026 18:33:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=shiomiru" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by shiomiru in "Software sandboxing: The basics (2025)"]]></title><description><![CDATA[
<p>Er...  nothing?  That's the point, if you statically link to glibc 2.51, then you get a version of pledge where "stdio" allows the stdio syscalls made by glibc 2.51 (say, "read" and "write").  Next time if you link to glibc 2.52, you get a pledge that allows stdio syscalls made by 2.52 (maybe "pread" and "pwrite"), etc.  Nothing changes for the user because the libc wrappers for "read"/"write" are synchronized with the pledge promises.</p>
]]></description><pubDate>Tue, 22 Sep 2026 00:45:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=49795435</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49795435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49795435</guid></item><item><title><![CDATA[New comment by shiomiru in "Software sandboxing: The basics (2025)"]]></title><description><![CDATA[
<p>This is often repeated in these kinds of threads, but I don't think it's true.  You just have to implement it in glibc, which can map the flags to the actual syscalls used on the current architecture and restrict the process to those with a seccomp BPF filter.<p>(Indeed, cosmo libc does exactly that, so it's definitely possible.)</p>
]]></description><pubDate>Mon, 21 Sep 2026 12:16:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49786292</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49786292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49786292</guid></item><item><title><![CDATA[New comment by shiomiru in "Software sandboxing: The basics (2025)"]]></title><description><![CDATA[
<p>> No browsers on FreeBSD today use Capsicum.<p>Strictly speaking, that's false, my hobby project chawan[1] supports capsicum :)<p>Anyway, IME capsicum vs pledge doesn't make much of a difference because seccomp already forces you into a specific sandbox architecture; after implementing that, adjusting the result to support the rest takes (relatively) little effort.  So I think the difference in adoption is more because nobody has volunteered to do the work for capsicum (and keep it up to date etc.)<p>[1]: <a href="https://chawan.net" rel="nofollow">https://chawan.net</a></p>
]]></description><pubDate>Mon, 21 Sep 2026 08:31:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49784641</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49784641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49784641</guid></item><item><title><![CDATA[New comment by shiomiru in "Ubuntu 26.10 completes transition to Rust-based coreutils"]]></title><description><![CDATA[
<p>> A single while loop could do the job correctly and use less RAM. It'd
probably also be faster. But that wouldn't be a rusty thing to do?<p>No, the "single while loop" is just harder to implement than a naive
recursion, because recursion is a natural way to implement tree traversal.
With a while loop, you need an explicit stack, which is more complex.<p>(A stackless traversal seems unrealistic here, as getting the succeeding
node would be too expensive.  Not that I've tried...)<p>> I look at code from the heirloom project and, despite its warts, I think
we've lost something in the past 45 years or so.<p>I've just tried and heirloom rm segfaults on the same test too.  Which is
no wonder, seeing how that code <i>also</i> recurses.<p>(It's mentioned somewhere else in the thread, but this is exactly the
reason why GNU had to specify "no hard limits" as a policy.  Unix used to
be full of such bugs.)</p>
]]></description><pubDate>Thu, 17 Sep 2026 13:09:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49740227</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49740227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49740227</guid></item><item><title><![CDATA[New comment by shiomiru in "Ubuntu 26.10 completes transition to Rust-based coreutils"]]></title><description><![CDATA[
<p>I don't think that's related?  The bug alluded to looks something like<p><pre><code>    function rm(node) {
        for (const child of ls(node))
            rm(child);
        unlink(node);
    }
</code></pre>
and no amount of tail call optimization will save you here, because this isn't tail recursion.  Of course you <i>could</i> rewrite it using an explicit stack + tail recursion, but then you might as well be using a while loop.</p>
]]></description><pubDate>Tue, 15 Sep 2026 08:38:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49709532</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49709532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49709532</guid></item><item><title><![CDATA[New comment by shiomiru in "old.reddit.com Now Requires a Login"]]></title><description><![CDATA[
<p>I think it's just a divide and conquer approach: if they killed it everywhere at once, there would be a larger backlash, so they are careful to roll out the change gradually.</p>
]]></description><pubDate>Mon, 17 Aug 2026 08:24:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49327859</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49327859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49327859</guid></item><item><title><![CDATA[New comment by shiomiru in "Born Against, or why hobby programming communities are against LLM usage"]]></title><description><![CDATA[
<p>I meant it as an euphemism for "it's universally sought after (i.e., you'll probably find a job)".  Few would think being a programmer gives you some kind of special "social status"; it's always been a "nerd" hobby that happened to pay (relatively) well.<p>(I guess by now you have a solid retirement plan; maybe if the field had been burnt to the ground while you were younger, you'd have had a different opinion.)</p>
]]></description><pubDate>Thu, 06 Aug 2026 11:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=49195090</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49195090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49195090</guid></item><item><title><![CDATA[New comment by shiomiru in "Born Against, or why hobby programming communities are against LLM usage"]]></title><description><![CDATA[
<p>There's also the economic problem that programmers had until recently been highly regarded because steps 2-3 were hard.  "Open source" solved this partially by utilizing the labor such (relatively) well-paid people gave away "for the love of it", but it was not nearly enough to put most out of work.<p>Now there is a plagiarism machine built on top of decades of this work that seemingly solves 3 and promises to solve 2 (badly, but usually this matters little), the programmers that (indirectly) helped build it are told they're fools for doing so, <i>and</i> threatened by losing their status if they don't adapt to the "entrepreneurial way" (well, the full promise is "you'll lose it anyway, but if you cooperate in stuffing sama's pockets then maybe you get to keep it a bit longer").<p>So what really surprises me is not that people are upset but that so few are.</p>
]]></description><pubDate>Thu, 06 Aug 2026 08:45:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49194154</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49194154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49194154</guid></item><item><title><![CDATA[New comment by shiomiru in "Brow6el: A full-featured web browser for the terminal using Chromium"]]></title><description><![CDATA[
<p>I can't speak for the other projects you listed, but at least chawan is actively maintained by yours truly.</p>
]]></description><pubDate>Thu, 23 Jul 2026 19:44:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49027033</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=49027033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49027033</guid></item><item><title><![CDATA[New comment by shiomiru in "Hyprland 0.55 announced the switch to Lua for its config files"]]></title><description><![CDATA[
<p>I like to have a simple config AND a real scripting language.  That way, the UX for changing "simple" things remains straightforward (you can even add a config editor panel), while for less simple things you can use a real programming language (reducing pressure from the "simple" config to turn into a DSL).</p>
]]></description><pubDate>Mon, 20 Jul 2026 23:10:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48986043</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=48986043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48986043</guid></item><item><title><![CDATA[New comment by shiomiru in "Cloudflare Turnstile requiring fingerprintable WebGL"]]></title><description><![CDATA[
<p>> My guess is that OP's browser is getting banned because his WebKitGTK has a weird fingerprint, not because of webgl or whatever.<p>So why is Cloudflare saying the author got blocked because of WebGL?<p>> > Such things are blocked in WebKit, and have been for years. Meaning it's tracking so awful that even Apple would block it, and as far as I can tell it's not the kind of privacy protection you can easily disable in it.<p>> This is also false. Webgl fingerprinting works just fine on Safari. They might try to mitigate it by adding some noise, but that's not so different than what firefox does, and is certainly not "blocked".<p>While I don't have an iDevice to try, the assumption that they are special cased is fair...  because they are: <a href="https://blog.cloudflare.com/eliminating-captchas-on-iphones-and-macs-using-new-standard/" rel="nofollow">https://blog.cloudflare.com/eliminating-captchas-on-iphones-...</a><p>(Yes, this is basically WEI in a shinier package.)</p>
]]></description><pubDate>Sun, 31 May 2026 15:32:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48346533</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=48346533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48346533</guid></item><item><title><![CDATA[New comment by shiomiru in "Hyperlinks in terminal emulators"]]></title><description><![CDATA[
<p>> Plenty of internal-only systems are not locked down securely and only thing preventing mass exploitation is browsers CORS settings.<p>CORS has no relation to this issue.  <i>Cross-origin</i> means there are at least two origins, but in this case there is only one (where you're trying to navigate).<p>> But if request is originating from inside the network (as it would from a terminal emulator)<p>Why would the terminal make requests?  Obviously it will dispatch the link to another program specialized in making requests to a protocol, like... a browser?<p>> Granted, on its own, this should be safe. But attacks are usually composed from multiple bugs and/or weaknesses in design. Hence why security folk keep talking about “defence in depth”<p>Every feature <i>can</i> be part of an exploit chain, but the "clicking a URL will always lead to the text it is under" ship has sailed 30+ years ago.  If your system cannot safely handle this operation then you're in deep trouble, and I don't see how crippling every program in existence is the right solution to that.<p>> I actually voiced some concerns with this original hyperlink proposal several years back. In fact lots of developers and security researchers did.<p>Based on what you've written: you and other self-claimed "security researchers" started spamming this spec with concern trolling about hypothetical (non-existent) "security issues", then the author finally got tired and locked down comments, which were obviously intended for people interested in the feature, not those trying to sabotage it.<p>> Just one persons mission to dictate how everyone else’s terminal, and security model, should operate.<p>Nowhere does the proposal say that <i>your</i> terminal has to implement this.  Indeed, if you have a working ANSI parser the escape sequence is ignored automatically (as the spec also explains).<p>Have you considered that the person trying to dictate how others' terminals should operate might be you?</p>
]]></description><pubDate>Fri, 13 Mar 2026 10:06:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47362467</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=47362467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47362467</guid></item><item><title><![CDATA[New comment by shiomiru in "GPL upgrades via section 14 proxy delegation"]]></title><description><![CDATA[
<p>Isn't that effectively the same as or-later?  I can always fork your project, change the MAINTAINERS file, and relicense without your consent.</p>
]]></description><pubDate>Fri, 06 Mar 2026 09:31:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47272852</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=47272852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47272852</guid></item><item><title><![CDATA[New comment by shiomiru in "You can use newline characters in URLs"]]></title><description><![CDATA[
<p>Validation errors aren't really "exceptions" to be thrown, they are indicators for authors that <i>something</i> is probably wrong but they make no visible difference in the output.  I'm not sure if any browser even tracks them (and if one did, the best it could do is complain in the dev tools).<p>Also, this is not limited to HREF, it's defined in URL[0] so you can also put newlines in new URL("...") etc.<p>[0]: <a href="https://url.spec.whatwg.org/#concept-basic-url-parser" rel="nofollow">https://url.spec.whatwg.org/#concept-basic-url-parser</a></p>
]]></description><pubDate>Wed, 04 Mar 2026 06:30:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47243898</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=47243898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47243898</guid></item><item><title><![CDATA[New comment by shiomiru in "Can you slim macOS down?"]]></title><description><![CDATA[
<p>> as we know it today<p>An important nuance you seem to be missing is that SUSv3 is equivalent to "IEEE Std 1003.1-2001" (that is, POSIX 2001).<p>In practice, I've had to work around more POSIX compatibility issues in macOS than in all other actively developed (Free) Unix-likes, combined.</p>
]]></description><pubDate>Wed, 21 Jan 2026 20:04:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46710826</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46710826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46710826</guid></item><item><title><![CDATA[New comment by shiomiru in "Japan to revise romanization rules for first time in 70 years"]]></title><description><![CDATA[
<p>"ou" is fine too, actually.  See the proposal p. 14 (=16 in the PDF):
<a href="https://www.bunka.go.jp/seisaku/bunkashingikai/sokai/pdf/94261201_01.pdf" rel="nofollow">https://www.bunka.go.jp/seisaku/bunkashingikai/sokai/pdf/942...</a><p>(To differentiate between the case where it's actually two vowels, you have
to put an apostrophe inbetween; their example is 小唄 -> ko'uta.)</p>
]]></description><pubDate>Wed, 17 Dec 2025 12:40:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46301302</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46301302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46301302</guid></item><item><title><![CDATA[New comment by shiomiru in "Full Unicode Search at 50× ICU Speed with AVX‑512"]]></title><description><![CDATA[
<p>That "deeper explanation" seems incorrect, considering that the KSC column
is empty in the mapping linked above.</p>
]]></description><pubDate>Tue, 16 Dec 2025 19:54:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46293549</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46293549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46293549</guid></item><item><title><![CDATA[New comment by shiomiru in "Full Unicode Search at 50× ICU Speed with AVX‑512"]]></title><description><![CDATA[
<p>The "other standard" in this case being IBM-944.  (At least looking at
<a href="https://www.unicode.org/versions/Unicode1.0.0/ch06.pdf" rel="nofollow">https://www.unicode.org/versions/Unicode1.0.0/ch06.pdf</a> p. 574 (=110 in the
PDF) I only see a mapping from U+212A to that one.)</p>
]]></description><pubDate>Tue, 16 Dec 2025 17:02:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46291033</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46291033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46291033</guid></item><item><title><![CDATA[New comment by shiomiru in "Chafa: Terminal Graphics for the 21st Century"]]></title><description><![CDATA[
<p>w3m doesn't support chafa for inline image display.<p>(You can set a custom w3mimgdisplay command, but it has to speak the same protocol as w3mimgdisplay.  If you're feeling adventurous, you can try modifying <a href="https://github.com/uobikiemukot/sdump/tree/master/yaimg-sixel" rel="nofollow">https://github.com/uobikiemukot/sdump/tree/master/yaimg-sixe...</a>.)</p>
]]></description><pubDate>Tue, 16 Dec 2025 11:10:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46287186</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46287186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46287186</guid></item><item><title><![CDATA[New comment by shiomiru in "GNU Unifont"]]></title><description><![CDATA[
<p>> which aren't just free to use, but explicitly use the modern SIL Open Font License.<p>Unifont is also dual-licensed under GPLv2/SIL OFL.</p>
]]></description><pubDate>Sat, 13 Dec 2025 10:57:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46253688</link><dc:creator>shiomiru</dc:creator><comments>https://news.ycombinator.com/item?id=46253688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46253688</guid></item></channel></rss>