<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: jkrems</title><link>https://news.ycombinator.com/user?id=jkrems</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 22:17:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jkrems" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jkrems in "Why the Sanitizer API is just `setHTML()`"]]></title><description><![CDATA[
<p>I mean... "as configured" can me either an allow OR a denylist. That sentence doesn't really prescribe doing it one way or the other..? You have to parse the denylisted elements because they will affect the rest of the parse, so you _have_ to remove them afterwards in the general case.</p>
]]></description><pubDate>Wed, 10 Dec 2025 20:58:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46223746</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=46223746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46223746</guid></item><item><title><![CDATA[New comment by jkrems in "Shai-Hulud Returns: Over 300 NPM Packages Infected"]]></title><description><![CDATA[
<p>pnpm is the better comparison maybe in this context. Most of Deno's approach to security is focussed on whole program policies which doesn't do much in this context. Just like pnpm and others, they do have opt-in for install scripts though. The npm CLI is an outlier there by now.</p>
]]></description><pubDate>Mon, 24 Nov 2025 18:04:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46037025</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=46037025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46037025</guid></item><item><title><![CDATA[New comment by jkrems in "Shai-Hulud Returns: Over 300 NPM Packages Infected"]]></title><description><![CDATA[
<p>Vendoring wouldn't really affect this at all. If anything it would keep you vulnerable for longer because your vendored copy keeps "working" after the bad package got removed upstream. There's a tiny chance that somebody would've caught the 10MB file added in review but that's already too late - the exploit happened on download, before the vendored copy got sent for review.</p>
]]></description><pubDate>Mon, 24 Nov 2025 18:01:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46036993</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=46036993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46036993</guid></item><item><title><![CDATA[New comment by jkrems in "Shai-Hulud Returns: Over 300 NPM Packages Infected"]]></title><description><![CDATA[
<p>They didn't deploy the code. That's not how this exploit works. They _downloaded_ the code to their machine. And npm's behavior is to implicitly run arbitrary code as part of the download - including, in this case, a script to harvest credentials and propagate the worm. That part has everything to do with npm behavior and nothing to do with how much anybody reviewed 3P deps. For all we know they downloaded the new version of the affected package to review it!</p>
]]></description><pubDate>Mon, 24 Nov 2025 17:55:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46036931</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=46036931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46036931</guid></item><item><title><![CDATA[New comment by jkrems in "Google Antigravity"]]></title><description><![CDATA[
<p>Looks like it's back again!</p>
]]></description><pubDate>Tue, 18 Nov 2025 16:28:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45968399</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=45968399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45968399</guid></item><item><title><![CDATA[New comment by jkrems in "Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised"]]></title><description><![CDATA[
<p>Afaict many of these recent supply chain attacks _have_ been detected by scanners. Which ones flew under the radar for an extended period of time?<p>From what I can tell, even a few hours of delay for actually pulling dependencies post-publication to give security tools a chance to find it would have stopped all (?) recent attacks in their tracks.</p>
]]></description><pubDate>Tue, 16 Sep 2025 23:17:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45269530</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=45269530</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45269530</guid></item><item><title><![CDATA[New comment by jkrems in "Show HN: Lego Island Playable in the Browser"]]></title><description><![CDATA[
<p>Nothing to do with "smart", or at least that's mostly irrelevant to this observation. But it's definitely age-dependent. No matter how "smart", it's not fair to expect young children to immediately and fully pay attention to some "random" voice when other interesting things are going on at the same time.</p>
]]></description><pubDate>Mon, 23 Jun 2025 16:16:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44357286</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=44357286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44357286</guid></item><item><title><![CDATA[New comment by jkrems in "The True Size Of"]]></title><description><![CDATA[
<p>> Why the South? What about the North? Symmetric globe?<p>The globe isn't symmetric when it comes to these terms. They don't refer to the actual two hemispheres, split at the equator. The "south" contains the equator and the "north" ends way before the equator.<p>> And why is the shrinking considered a misrepresentation, but the enlargement of high latitudes apparently not?<p>Because being overrepresented (looking bigger) is typically an advantage. Both are misrepresentations but the direction matters. Some of this is only a real problem if geographical area and population are correlated. Which, at least in broad strokes, is true here.</p>
]]></description><pubDate>Wed, 30 Apr 2025 20:18:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43850187</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=43850187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43850187</guid></item><item><title><![CDATA[New comment by jkrems in "Writing "/etc/hosts" breaks the Substack editor"]]></title><description><![CDATA[
<p>Could this be trivially solved client-side by the editor if it just encoded the slashes, assuming it's HTML or markdown that's stored? Replacing `/etc/hosts` with `&#47;etc&#47;hosts` for storage seems like an okay workaround. Potentially even doing so for anything that's added to the WAF rules automatically by syncing the rules to the editor code.</p>
]]></description><pubDate>Fri, 25 Apr 2025 16:01:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=43795083</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=43795083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43795083</guid></item><item><title><![CDATA[New comment by jkrems in "A standards-first web framework"]]></title><description><![CDATA[
<p>> The gap between design and engineering has never been wider.<p>This seems like such a weird claim to make. This used to be "here's a JPEG, you may beg for the PSD". Not saying that there's no gap today but... never been wider..? Am I missing something about the typical Figma setup that makes it worse than a random JPEG export of one state of the UI?</p>
]]></description><pubDate>Thu, 16 Jan 2025 23:55:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=42732493</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=42732493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42732493</guid></item><item><title><![CDATA[New comment by jkrems in "A new learning experience on MDN"]]></title><description><![CDATA[
<p>Being spec compliant means being compliant with the entire spec, not just a "reasonable subset of the spec", picked by the author of the ponyfill/polyfill. And being secure only in the presence of normal inputs is... pretty meaningless afaict? Anything is secure if the inputs are "nice to the implementation". That isn't a typical bar for "it's secure".<p>Whether every use case that just wants to roundtrip BigInt through JSON _needs_ a fully spec compliant & generally secure solution is a different question. But at that point it's about picking a solution for a related use case, not about actually standing in for the upcoming browser feature.</p>
]]></description><pubDate>Wed, 25 Dec 2024 21:24:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42511264</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=42511264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42511264</guid></item><item><title><![CDATA[New comment by jkrems in "Humans Are Evolving Right Before Our Eyes on the Tibetan Plateau"]]></title><description><![CDATA[
<p>Many (most?) traits require energy to develop and maintain. A stronger muscle will need more energy so there's always pressure to reduce it. That pressure may just be countered by pressures in other directions.</p>
]]></description><pubDate>Fri, 25 Oct 2024 15:37:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41946304</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=41946304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41946304</guid></item><item><title><![CDATA[New comment by jkrems in "The HTTP Query Method"]]></title><description><![CDATA[
<p>> When doing so, caches SHOULD first normalize request content to remove semantically insignificant differences, thereby improving cache efficiency, by: [...]<p>That part sounds like it's asking for trouble. I'm curious if this will make it to the final draft. If the client mis-identifies which parts of the request body are semantically insignificant, the result would be immediate cache poisoning and fun hard-to-debug bugs.<p>If it's meant as a "MAY", then that seems kind of meaningless: If the client for some reason knows that one particular aspect of the request body is insignificant, it could just generate request bodies that are normalized in the first place..?</p>
]]></description><pubDate>Mon, 16 Sep 2024 18:11:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=41558832</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=41558832</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41558832</guid></item><item><title><![CDATA[New comment by jkrems in "Why freedom of speech is a wicked problem"]]></title><description><![CDATA[
<p>So you don't use a spam filter in your inbox? You just subscribe to more emails that you _do_ want to drown out the spam? It's easy to say "just counter with more speech!" but it's harder to see how that works at the scale of a global network with nation state actors, bots, and extreme imbalances of power (100 people dogpiling onto 1 person).</p>
]]></description><pubDate>Fri, 13 Sep 2024 18:59:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41534061</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=41534061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41534061</guid></item><item><title><![CDATA[New comment by jkrems in "(Unsuccessfully) Fine-tuning GPT to play "Connections""]]></title><description><![CDATA[
<p>Apart from the "it just explained the already ordered groups in the question" problem, it didn't even explain one of the groups correctly. "Something about coat(ing) and food" is not the correct explanation, it's missing a lateral logic step there to go from food-related to a separate meaning.</p>
]]></description><pubDate>Tue, 16 Jan 2024 03:37:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=39009171</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=39009171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39009171</guid></item><item><title><![CDATA[New comment by jkrems in "HTML Web Components"]]></title><description><![CDATA[
<p>If you have a static frontend bundle, isn't that just SSG (static site generation)? And if you can generate the site at build time, what's the fundamental difference between any of the non-web component SSG solutions and a web component SSG solution? Sure, you can pretend like there will be "no build step". But only if you're fine with "no proper cache headers" (and a long tail of other things). So in practice - hopefully there _will_ be a build step anyhow.</p>
]]></description><pubDate>Mon, 13 Nov 2023 16:54:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38252296</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=38252296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38252296</guid></item><item><title><![CDATA[New comment by jkrems in "Find bilingual baby names"]]></title><description><![CDATA[
<p>The dataset seems pretty unreliable. For example this page claims both that "Kai" isn't a name used in German: <a href="https://mixedname.com/name/kai" rel="nofollow noreferrer">https://mixedname.com/name/kai</a>. But then half of the "celebrities named Kai" are... German.<p>I wonder what the source for the names is. Kai is #289 in at least one list of the most popular names given to German kids in 2022: <a href="https://www.beliebte-vornamen.de/jahrgang/j2022/top-500-2022" rel="nofollow noreferrer">https://www.beliebte-vornamen.de/jahrgang/j2022/top-500-2022</a>. So I'm surprised that it wouldn't show up in a list of >1000 "German" names.</p>
]]></description><pubDate>Sat, 11 Nov 2023 19:11:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=38233468</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=38233468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38233468</guid></item><item><title><![CDATA[New comment by jkrems in "Bun v1.0.0"]]></title><description><![CDATA[
<p>Congrats on 1.0!</p>
]]></description><pubDate>Fri, 08 Sep 2023 15:29:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=37434859</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=37434859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37434859</guid></item><item><title><![CDATA[New comment by jkrems in "A regular expression to check for prime numbers (2007)"]]></title><description><![CDATA[
<p>And that article says:<p>> Perl regexes have become a de facto standard, having a rich and powerful set of atomic expressions.</p>
]]></description><pubDate>Wed, 21 Jun 2023 13:30:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=36418206</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=36418206</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36418206</guid></item><item><title><![CDATA[New comment by jkrems in "Sensenmann: Code Deletion at Scale"]]></title><description><![CDATA[
<p>That's a question of policy, not of repo structure. A monorepo can still have certain parts of the repo protected by access control. One repo doesn't mean "all files share one read permission".</p>
]]></description><pubDate>Sun, 30 Apr 2023 01:19:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=35758870</link><dc:creator>jkrems</dc:creator><comments>https://news.ycombinator.com/item?id=35758870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35758870</guid></item></channel></rss>