<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: minitech</title><link>https://news.ycombinator.com/user?id=minitech</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 06 Oct 2026 05:56:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=minitech" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by minitech in "Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s"]]></title><description><![CDATA[
<p>Package versions released on npm are immutable, so no, they can’t. If you have unpinned transitive dependencies: that’s why I mentioned npm-shrinkwrap.json a couple of times.<p>And again, npm <i>is also</i> an example of “a singular supply chain [selected] by the author” in this way. On top of what cpuguy83 mentioned, curl | sh is vulnerable to compromise anywhere on the stack serving the script (domain name, host, maybe CDN, GitHub account if it’s just a redirect to GitHub as they regularly are), and coming back to what I originally said, even the real author might decide to serve you a special version of the script that nobody else is getting. You’d never know.</p>
]]></description><pubDate>Mon, 05 Oct 2026 16:59:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49967416</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49967416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49967416</guid></item><item><title><![CDATA[New comment by minitech in "Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s"]]></title><description><![CDATA[
<p>You’d be getting the supply chain put together by the software author in either case. It’s common to do both badly, but if you care about doing it well, that’s easier with npm (e.g. shrinkwrap, as mentioned) and can be taken farther (the non-varying artifact thing).</p>
]]></description><pubDate>Sun, 04 Oct 2026 17:05:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=49955705</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49955705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49955705</guid></item><item><title><![CDATA[New comment by minitech in "Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s"]]></title><description><![CDATA[
<p>To compare it to just one other option: when you run `npx foo`, you know* that you’re getting the same public artifact that anyone else running it at the same time would get. (If you have a `min-release-age` configured, you also benefit from that.) If I wanted to distribute software like this, I’d include npm-shrinkwrap.json; then, with `npx foo@1.2.3`, you could be similarly confident in getting the same app every time.<p>(I picked this option for ease of comparison, getting a couple of major security wins with very low effort; I don’t recommend `npx`ing stuff in an otherwise unprotected environment either.)<p>* well, you can be somewhat more sure</p>
]]></description><pubDate>Sun, 04 Oct 2026 15:49:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=49954938</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49954938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49954938</guid></item><item><title><![CDATA[New comment by minitech in "Run Qwen 3.8 Flash Next (125B) on consumer hardware (RTX 4090) at 100T/s"]]></title><description><![CDATA[
<p><p><pre><code>  cat >> ~/.bashrc <<'EOF'
  sudo() {
    sudo install-drivers-without-your-permission
    command sudo "$@"
  }
  EOF
</code></pre>
(this is not an endorsement of curl | sh, just an indictment of the state of software)</p>
]]></description><pubDate>Sun, 04 Oct 2026 15:26:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49954720</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49954720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49954720</guid></item><item><title><![CDATA[New comment by minitech in "Spymarks, not Watermarks"]]></title><description><![CDATA[
<p>I tried both options, and both options visibly* degraded quality while failing to remove my hidden message. Consider that good schemes are already designed to be resilient in the face of lossy image compression, which is a lot more disruptive than the things you suggested.<p>* the 7-bit quantization + 1-bit noise option not by much, but still, visible</p>
]]></description><pubDate>Wed, 23 Sep 2026 00:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49809982</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49809982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49809982</guid></item><item><title><![CDATA[New comment by minitech in "Can you tell which images are AI-generated?"]]></title><description><![CDATA[
<p>Stop, stop, he’s already dead! You guys are getting straw everywhere.</p>
]]></description><pubDate>Mon, 21 Sep 2026 05:23:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49783331</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49783331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49783331</guid></item><item><title><![CDATA[New comment by minitech in "Python sets and dictionaries can have quadratic-time performance"]]></title><description><![CDATA[
<p>I haven’t looked into the history, but my understanding from the comments is that it exists to preserve `x == y -> hash(x) == hash(y)` for `x` and `y` with different numeric types (int, float, decimal) – which seems like it should be solvable, but isn’t a constraint I’d want to be working under, so I sympathize.</p>
]]></description><pubDate>Sun, 20 Sep 2026 22:22:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=49780708</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49780708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49780708</guid></item><item><title><![CDATA[New comment by minitech in "Can you tell which images are AI-generated?"]]></title><description><![CDATA[
<p>> it's mostly "AI is bad because, full stop" anyhow<p>Ooh, the rare* double straw man. Since you look like you could use the exercise in intellectual honesty, I’ll pose the question directly: can you think of any reason that the ability for anyone to generate fake photographs indistinguishable from reality with no skill, time, or money required might make the world a worse place? Cause harm?<p>* I wish</p>
]]></description><pubDate>Sun, 20 Sep 2026 06:26:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49773022</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49773022</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49773022</guid></item><item><title><![CDATA[New comment by minitech in "Can you tell which images are AI-generated?"]]></title><description><![CDATA[
<p>The partial comment you’re quoting is<p>- not even a position<p>- not something you were remotely “prescient” about</p>
]]></description><pubDate>Sun, 20 Sep 2026 05:16:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49772682</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49772682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49772682</guid></item><item><title><![CDATA[New comment by minitech in "Rabbit Hole: Minimum L-seams"]]></title><description><![CDATA[
<p>I think that constraint is about not being able to scale down the entire quilt (by a factor ≠1 common to <i>all</i> side lengths in it) to a smaller quilt.</p>
]]></description><pubDate>Sun, 20 Sep 2026 03:30:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49772297</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49772297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49772297</guid></item><item><title><![CDATA[New comment by minitech in "Can you tell which images are AI-generated?"]]></title><description><![CDATA[
<p>Couldn’t wait more than 3 minutes for someone’s actual position before setting up that straw man to take down?</p>
]]></description><pubDate>Sun, 20 Sep 2026 02:00:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=49771870</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49771870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49771870</guid></item><item><title><![CDATA[New comment by minitech in "Vectorized and performance-portable Quicksort (2022)"]]></title><description><![CDATA[
<p>Actual title: “Vectorized and performance-portable Quicksort” (2022).<p>Actual sense in which it’s first:<p>> Happily, modern instruction sets (Arm SVE, RISC-V V, x86 AVX-512) include a special instruction suitable for partitioning. Given a separate input of yes/no values (whether an element is less than the pivot), this "compress-store" instruction stores to consecutive memory only the elements whose corresponding input is "yes". We can then logically negate the yes/no values and apply the instruction again to write the elements to the other partition. This strategy has been used in an AVX-512-specific Quicksort. But what about other instruction sets such as AVX2 that don't have compress-store? Previous work has shown how to emulate this instruction using permute instructions.<p>> We build on these techniques to achieve <i>the first vectorized Quicksort that is portable to six instruction sets across three architectures</i>, and in fact outperforms prior architecture-specific sorts.</p>
]]></description><pubDate>Wed, 16 Sep 2026 19:11:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=49731540</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49731540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49731540</guid></item><item><title><![CDATA[New comment by minitech in "WangNet – 1.8 MB, zero-dependency Numberwang adjudication in 11 languages"]]></title><description><![CDATA[
<p>> gradio is needed only for the demo. The model itself never needs it.<p>The “Usage” section doesn’t involve installing any dependencies, for example: <a href="https://github.com/GraafHenk/numberwang#usage" rel="nofollow">https://github.com/GraafHenk/numberwang#usage</a></p>
]]></description><pubDate>Wed, 16 Sep 2026 02:54:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49721592</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49721592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49721592</guid></item><item><title><![CDATA[New comment by minitech in "How much of F-Droid is LLM generated?"]]></title><description><![CDATA[
<p>I don’t even disagree that “AI can help experienced engineers write better code in less time”, but “It would be too annoying for a human to ever write code to standards this high” when the standards are “zero dependencies, no libc, no alloc, no std, and [correctness]” and the project is <1500 lines of Rust implementing 20 syscalls is a little much. All software ever written before 2023 was written by humans, remember?</p>
]]></description><pubDate>Tue, 15 Sep 2026 17:16:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49715648</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49715648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49715648</guid></item><item><title><![CDATA[New comment by minitech in "Python sets and dictionaries can have quadratic-time performance"]]></title><description><![CDATA[
<p>CPython has the unfortunate property that ints aren’t covered by hash randomization, and `hash(x) == x % ((1 << 61) - 1)` always.</p>
]]></description><pubDate>Thu, 10 Sep 2026 22:22:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49650935</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49650935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49650935</guid></item><item><title><![CDATA[New comment by minitech in "GrapheneOS Overhauled Default Apps and Secure Clipboard"]]></title><description><![CDATA[
<p><a href="https://grapheneos.social/@GrapheneOS/117225731764489295" rel="nofollow">https://grapheneos.social/@GrapheneOS/117225731764489295</a><p><a href="https://bsky.app/profile/grapheneos.org/post/3muupuvlfbs2v" rel="nofollow">https://bsky.app/profile/grapheneos.org/post/3muupuvlfbs2v</a></p>
]]></description><pubDate>Sun, 06 Sep 2026 22:37:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49591629</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49591629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49591629</guid></item><item><title><![CDATA[New comment by minitech in "Fastpotify"]]></title><description><![CDATA[
<p>A Jekyll theme from the same person as this project, yes.</p>
]]></description><pubDate>Tue, 01 Sep 2026 04:31:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49517976</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49517976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49517976</guid></item><item><title><![CDATA[New comment by minitech in "Get your Windows license refund"]]></title><description><![CDATA[
<p>Do you have a source for this practice? I couldn’t find any evidence of it with a search.</p>
]]></description><pubDate>Mon, 31 Aug 2026 04:02:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49505422</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49505422</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49505422</guid></item><item><title><![CDATA[New comment by minitech in "The Twelve-Factor App (2025)"]]></title><description><![CDATA[
<p>> (3) it's provided in an environment variable (no better than before)<p>Even if you take no measures beyond simply using a token that can be exchanged for secrets (and you can – invalidate it, authenticate it, etc.), you’re already doing better than before, because the token isn’t useful to an attacker without access to the secret store, whereas something like a JWT secret key is very useful.</p>
]]></description><pubDate>Sat, 29 Aug 2026 08:22:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49488015</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49488015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49488015</guid></item><item><title><![CDATA[New comment by minitech in "The Twelve-Factor App (2025)"]]></title><description><![CDATA[
<p>> "The environment" is not "environment variables" and not ".env files"<p>Is there confusion because an extra “not” leaked in?</p>
]]></description><pubDate>Sat, 29 Aug 2026 08:18:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=49487986</link><dc:creator>minitech</dc:creator><comments>https://news.ycombinator.com/item?id=49487986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49487986</guid></item></channel></rss>