<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: exyi</title><link>https://news.ycombinator.com/user?id=exyi</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 14:51:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=exyi" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by exyi in "AUR packages compromised with Infostealer and Rootkit"]]></title><description><![CDATA[
<p>You know that prompt injection is a thing, right? Giving opencode access to bash and malicious input is not very far from piping it right into bash.</p>
]]></description><pubDate>Fri, 12 Jun 2026 17:39:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48507094</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48507094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48507094</guid></item><item><title><![CDATA[New comment by exyi in "Should you normalize RGB values by 255 or 256?"]]></title><description><![CDATA[
<p>Exactly. Although if you do >> 8 while working with uint8, it will be the fastest :)</p>
]]></description><pubDate>Tue, 02 Jun 2026 14:22:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48370669</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48370669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48370669</guid></item><item><title><![CDATA[New comment by exyi in "Should you normalize RGB values by 255 or 256?"]]></title><description><![CDATA[
<p>It's 3 cycles for float multiplication (and 1 for shift right):<p><a href="https://uops.info/table.html?search=mulss&cb_lat=on&cb_tp=on&cb_uops=on&cb_ports=on&cb_ARLP=on&cb_ARLE=on&cb_ZEN5=on&cb_measurements=on&cb_doc=on&cb_base=on&cb_avx=on&cb_avx2=on&cb_sse=on" rel="nofollow">https://uops.info/table.html?search=mulss&cb_lat=on&cb_tp=on...</a><p><a href="https://uops.info/table.html?search=shr&cb_lat=on&cb_tp=on&cb_uops=on&cb_ports=on&cb_ARLP=on&cb_ARLE=on&cb_ZEN5=on&cb_measurements=on&cb_doc=on&cb_base=on" rel="nofollow">https://uops.info/table.html?search=shr&cb_lat=on&cb_tp=on&c...</a><p>In throughput it's even less of a difference: 2 per cycle vs 3 per cycle.</p>
]]></description><pubDate>Mon, 01 Jun 2026 20:49:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48362452</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48362452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48362452</guid></item><item><title><![CDATA[New comment by exyi in "Blog ran on Ubuntu 16.04 for 10 years. I migrated it to FreeBSD"]]></title><description><![CDATA[
<p>Then you also have to auto-update the containers, if it's a public facing service. Either you'll have to build containers yourself or hope the developer pushes a new update whenever the base image has relevant security fixes.</p>
]]></description><pubDate>Fri, 22 May 2026 09:32:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48233716</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48233716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48233716</guid></item><item><title><![CDATA[New comment by exyi in "GitHub is investigating unauthorized access to their internal repositories"]]></title><description><![CDATA[
<p>VSCode extensions often contain binary blobs, so it won't catch basically anything. It would also be a bit expensive.</p>
]]></description><pubDate>Wed, 20 May 2026 07:24:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48204286</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48204286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48204286</guid></item><item><title><![CDATA[New comment by exyi in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>At least my password won't leak as often with yubikey, but the attacker can still hack my shell to execute fake sudo. Even if I type /bin/sudo explicitly, there is ptrace, LD_PRELOAD or just replacing the entire bash binary.<p>In practice yubikey sudo keeps you much safer today, as almost nobody uses it and malware won't be prepared for it</p>
]]></description><pubDate>Tue, 12 May 2026 15:55:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48110096</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48110096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48110096</guid></item><item><title><![CDATA[New comment by exyi in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>Ok, so the malware runs a keylogger / clipboard logger, gets the password and runs sudo on it's own. Or replaces your shell by putting exec ~/hackedbash into your bashrc<p>Password on sudo is only useful if you detect the infection before you run sudo</p>
]]></description><pubDate>Tue, 12 May 2026 07:40:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48105361</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=48105361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48105361</guid></item><item><title><![CDATA[New comment by exyi in "GTFOBins"]]></title><description><![CDATA[
<p>Whitelisting also quite likely doesn't work ("of course I will allow my agent to run find, that can do no harm")</p>
]]></description><pubDate>Tue, 28 Apr 2026 16:18:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47936522</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47936522</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47936522</guid></item><item><title><![CDATA[New comment by exyi in "Reaffirming our commitment to child safety in the face of EuropeanUnion inaction"]]></title><description><![CDATA[
<p>Same tool is very handy if you hypothetically wanted to control spread of anything else, like anti ice apps for instance.<p>Also hash matching is so easily bypassed you can be sure they really want to add some "AI" detector as well</p>
]]></description><pubDate>Sun, 05 Apr 2026 18:16:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47652247</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47652247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47652247</guid></item><item><title><![CDATA[New comment by exyi in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>and cross-platform UI</p>
]]></description><pubDate>Tue, 31 Mar 2026 20:52:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47593328</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47593328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47593328</guid></item><item><title><![CDATA[New comment by exyi in "Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised"]]></title><description><![CDATA[
<p>Do you know if there is override this specifically when I want to install a security patch? UV just claims that package doesn't exist if I ask for new version</p>
]]></description><pubDate>Wed, 25 Mar 2026 09:30:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47515136</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47515136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47515136</guid></item><item><title><![CDATA[New comment by exyi in "Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised"]]></title><description><![CDATA[
<p>Except that LiteLLM probably got pwned because they used Trivy in CI. If Trivy ran in a proper sandbox, the compromised job could not publish a compromised package.<p>(Yes, they should better configure which CI job has which permissions, but this should be the default or it won't always happen)</p>
]]></description><pubDate>Tue, 24 Mar 2026 15:00:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47503653</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47503653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47503653</guid></item><item><title><![CDATA[New comment by exyi in "Python 3.15's JIT is now back on track"]]></title><description><![CDATA[
<p>If you change this you break a common optimization:<p><a href="https://github.com/python/cpython/blob/3.14/Lib/json/encoder.py#L267" rel="nofollow">https://github.com/python/cpython/blob/3.14/Lib/json/encoder...</a><p>Default value is evaluated once, and accessing parameter is much cheaper than global</p>
]]></description><pubDate>Wed, 18 Mar 2026 12:37:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47424987</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47424987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47424987</guid></item><item><title><![CDATA[New comment by exyi in "How kernel anti-cheats work"]]></title><description><![CDATA[
<p>Every sane approach to security relies on checking you are doing permitted actions on the server, not locking down the client.</p>
]]></description><pubDate>Sun, 15 Mar 2026 10:03:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47385862</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47385862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47385862</guid></item><item><title><![CDATA[New comment by exyi in "Python Type Checker Comparison: Empty Container Inference"]]></title><description><![CDATA[
<p>Python does not need that, as it has built-in type annotation support. The annotation is any expression, so you can in theory express anything a custom type-only language would allow you (although you could make it less verbose and easier to read).<p>However, the it IMHO just works much worse than TS because:
* many libraries still lack decent annotations
* other libraries are impossible to type because of too much dynamic stuff
* Python semantics are multiple orders of magnitude more complex than JavaScript.
  Even just the simplest question: Is `1` allowed in parameter typed `float`? What about numpy float64?</p>
]]></description><pubDate>Sun, 01 Mar 2026 22:22:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47211320</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=47211320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47211320</guid></item><item><title><![CDATA[New comment by exyi in "Prism"]]></title><description><![CDATA[
<p>... or they teached GPT to use em-dashes, because of their love for em-dashes :)</p>
]]></description><pubDate>Tue, 27 Jan 2026 21:44:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46787380</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=46787380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46787380</guid></item><item><title><![CDATA[New comment by exyi in "cURL removes bug bounties"]]></title><description><![CDATA[
<p>Ok, run the same prompt on a legitimate bug report. The LLM will pretty much always agree with you</p>
]]></description><pubDate>Wed, 21 Jan 2026 08:58:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46702932</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=46702932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46702932</guid></item><item><title><![CDATA[New comment by exyi in "Date is out, Temporal is in"]]></title><description><![CDATA[
<p>Local would imply the date is in the current machine timezone, while PlainDateTime is zoneless. It may be in the server timezone, or anything else. The main difference is that it does not make sense to convert it to Instant or ZonedDateTime without specifying the timezone or offset</p>
]]></description><pubDate>Tue, 13 Jan 2026 09:32:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46598897</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=46598897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46598897</guid></item><item><title><![CDATA[New comment by exyi in "JavaScript's For-Of Loops Are Fast"]]></title><description><![CDATA[
<p>Only until you work with a type array (Int32Array, Float64Array, etc), then it becomes 10x slower: <a href="https://jsperf.app/doyeka/11" rel="nofollow">https://jsperf.app/doyeka/11</a></p>
]]></description><pubDate>Tue, 06 Jan 2026 12:04:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46511297</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=46511297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46511297</guid></item><item><title><![CDATA[New comment by exyi in "Super-Flat ASTs"]]></title><description><![CDATA[
<p>Usually yes, but it's still a neat trick to be aware of. For interpreted scripting languages, parsing can actually be a significant slowdown. Even more so when we start going into text-based network protocols, which also need a parser (is CSS a programming language or a network protocol? :) )</p>
]]></description><pubDate>Wed, 10 Dec 2025 19:43:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46222628</link><dc:creator>exyi</dc:creator><comments>https://news.ycombinator.com/item?id=46222628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46222628</guid></item></channel></rss>