<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: chlorion</title><link>https://news.ycombinator.com/user?id=chlorion</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 00:45:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chlorion" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chlorion in "Preparing for KDE Plasma's Last X11-Supported Release"]]></title><description><![CDATA[
<p>They are actually both much better than the things they replace, but a bunch of whiner babies can't stand the thought of anything changing and will claw and scream while being dragged into the future.</p>
]]></description><pubDate>Wed, 03 Jun 2026 01:20:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48378567</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48378567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48378567</guid></item><item><title><![CDATA[New comment by chlorion in "Preparing for KDE Plasma's Last X11-Supported Release"]]></title><description><![CDATA[
<p>Probably didn't even bother to diagnose the issue. It's hard to tell if it was even wayland related without logs and some digging. But lets just blindly blame wayland cause new thing bad!</p>
]]></description><pubDate>Wed, 03 Jun 2026 01:14:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48378507</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48378507</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48378507</guid></item><item><title><![CDATA[New comment by chlorion in "Go: Support for Generic Methods"]]></title><description><![CDATA[
<p>I am actually working on my own language, and getting something better than Go is actually not that difficult!<p>The hard part about making a language is creating the stdlib and tooling and support for the language, but actually creating a language itself that has more features and better features than go can be done by a single person in a few months or a year probably, depending on how much experience they have.<p>Generics specifically are a great example here. A single person can implement a language with go-level generics fairly easily.</p>
]]></description><pubDate>Wed, 27 May 2026 18:25:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48298353</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48298353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48298353</guid></item><item><title><![CDATA[New comment by chlorion in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>Java is probably able to bump allocate memory or something similar, where rust is using a general purpose allocator.<p>I guess if you are formatting strings constantly this is important, but you can also use a bump allocator in rust if you really wanted to.</p>
]]></description><pubDate>Mon, 25 May 2026 19:39:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48270783</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48270783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48270783</guid></item><item><title><![CDATA[New comment by chlorion in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>How large are your rust projects?<p>I am able to write rust on a moto g power (a cheap android smartphone) inside of termux, running on battery, in battery saver mode, and cached compile times for every single one of my projects is under 5s easily, if not faster. Fast enough that I don't notice it at all.<p>Even a "cold" compile was under 1 minute for me, and I have a decent amount of deps.<p>I guess my projects are fairly small compared to others though so idk.</p>
]]></description><pubDate>Mon, 25 May 2026 19:35:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48270742</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48270742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48270742</guid></item><item><title><![CDATA[New comment by chlorion in "Migrating from Go to Rust"]]></title><description><![CDATA[
<p>And ironically with the exception of the python sqlite3 module, the rust alternatives are much higher quality, IMO.<p>Does anyone even use tkinter in modern times anyways?</p>
]]></description><pubDate>Mon, 25 May 2026 14:10:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48267081</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=48267081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48267081</guid></item><item><title><![CDATA[New comment by chlorion in "10% of Firefox crashes are caused by bitflips"]]></title><description><![CDATA[
<p>Does it though?<p>People experience "blue screens" and kernel panics and such pretty often.</p>
]]></description><pubDate>Fri, 06 Mar 2026 17:00:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47277672</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=47277672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47277672</guid></item><item><title><![CDATA[New comment by chlorion in "GNU Pies – Program Invocation and Execution Supervisor"]]></title><description><![CDATA[
<p>openrc-init can be used on an upstart system, the daemon manager itself can't but that's because you'd have two different daemon managers. Beyond that there aren't any openrc software components, because it was designed to be a modular init system that just handles what it was intended to handle.<p>The rest of the system for example chrony, sysklogd, cron, etc run fine on upstart systems, because they aren't tied to systemd and are fully modular.<p>It's okay to be a monolith, that doesn't make it inherently bad or anything, but we should be honest about it, and it does come with some tradeoffs.</p>
]]></description><pubDate>Thu, 19 Feb 2026 01:50:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47068914</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=47068914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47068914</guid></item><item><title><![CDATA[New comment by chlorion in "Zero-day CSS: CVE-2026-2441 exists in the wild"]]></title><description><![CDATA[
<p>The statistics we have on real world security exploits proves that most security exploits are not coming from supply chain attacks though.<p>Memory safety related security exploits happen in a steady stream in basically all non-trivial C projects, but supply chain attacks, while possible, are much more rare.<p>I'm not saying we shouldn't care about both issues, but the idea is to fix the low hanging fruit and common cases before optimizing for things that aren't in practice that big of a deal.<p>Also, C is not inherently invulnerable to supply chain attacks either!</p>
]]></description><pubDate>Thu, 19 Feb 2026 01:03:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47068621</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=47068621</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47068621</guid></item><item><title><![CDATA[New comment by chlorion in "I fixed Windows native development"]]></title><description><![CDATA[
<p>>The curl|sh workflow is no more dangerous that downloading an executable off the internet<p>It actually is for a lot of subtle reasons, assuming you were going to check the executable checksum or something, or blindly downloading + running a script.<p>The big thing is that it can serve you up different contents if it detects it's being piped into a shell which is in theory possible, but also because if the download is interrupted you end up with half of the script ran, and a broken install.<p>If you are going to do this, its much better to do something like:<p><pre><code>    sh -c "$(curl https://foo.bar/blah.sh)"
</code></pre>
Though ideally yes you just download it and read it like a normal person.</p>
]]></description><pubDate>Mon, 16 Feb 2026 01:18:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47029745</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=47029745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47029745</guid></item><item><title><![CDATA[New comment by chlorion in "GNU Pies – Program Invocation and Execution Supervisor"]]></title><description><![CDATA[
<p>No it definitely is a monolith.<p>It's NOT loosely coupled in any way. Try running any part of the systemd software suite on an openrc system and see how that works out?<p>I have no idea why people are so insistent on claiming that its not a monolith, when it ticks off every box of what a monolith is.</p>
]]></description><pubDate>Mon, 16 Feb 2026 01:01:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47029600</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=47029600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47029600</guid></item><item><title><![CDATA[New comment by chlorion in "Termux"]]></title><description><![CDATA[
<p>I have been able to do some light programming in elisp in termux in emacs on my moto g. My emacs config is now setup to detect termux and config itself accordingly which is neat.<p>Also I have a wireguard vpn setup so that I can ssh between my phone and desktop computer via a VPS with a public ipv4 address. This allows me to just "ssh 10.0.0.4" to access the phones sshd, instead of having to deal with changing IP addresses and NAT traversal.</p>
]]></description><pubDate>Mon, 02 Feb 2026 23:00:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46863393</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=46863393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46863393</guid></item><item><title><![CDATA[New comment by chlorion in "We can't have nice things because of AI scrapers"]]></title><description><![CDATA[
<p>It adds up very quickly.</p>
]]></description><pubDate>Wed, 14 Jan 2026 02:16:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46611479</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=46611479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46611479</guid></item><item><title><![CDATA[New comment by chlorion in "We can't have nice things because of AI scrapers"]]></title><description><![CDATA[
<p>I self host a small static website and a cgit instance on an e2-micro VPS from Google Cloud, and I have got around 8.5 million requests combined from openai and claude over around 160 days. They just infinitely crawl the cgit pages forever unless I block them!<p><pre><code>    (1) root@gentoo-server ~ # egrep 'openai|claude' -c /var/log/lighttpd/access.log
    8537094
</code></pre>
So I have lighttpd setup to match "claude|openai" in the user agent string and return a 403 if it matches, and a nftables firewall seutp to rate limit spammers, and this seems to help a lot.</p>
]]></description><pubDate>Wed, 14 Jan 2026 02:08:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46611432</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=46611432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46611432</guid></item><item><title><![CDATA[New comment by chlorion in "Babel is why I keep blogging with Emacs"]]></title><description><![CDATA[
<p>I use org mode files, a small build script and git.<p>The build system just invokes emacs and compiles org documents to HTML, and installs them in /var/www/${site}. I have a git update hook on the server that invokes the build script when I push updates.<p>Originally I did just rsync over HTML files though, but I like the new setup a lot.</p>
]]></description><pubDate>Sat, 04 Oct 2025 01:26:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469669</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=45469669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469669</guid></item><item><title><![CDATA[New comment by chlorion in "How I block all 26M of your curl requests"]]></title><description><![CDATA[
<p>Claude was scraping my cgit at around 12 requests per second, but in bursts here or there. My VPS could easily handle this, even being a free tier e2-micro on Google Cloud/Compute Engine, but they used almost 10GB of my egress bandwidth in just a few days, and ended up pushing me over the free tier.<p>Granted it wasn't a whole lot of money spent, but why waste money and resources so "claude" can scrape the same cgit repo over and over again?<p><pre><code>    >(1) root@gentoo-server ~ # grep 'claude' /var/log/lighttpd/access.log | wc -l
    >1099323</code></pre></p>
]]></description><pubDate>Sat, 04 Oct 2025 00:30:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469380</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=45469380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469380</guid></item><item><title><![CDATA[New comment by chlorion in "Python developers are embracing type hints"]]></title><description><![CDATA[
<p>It's not even a niche instance, protocols solve their problem lol.</p>
]]></description><pubDate>Mon, 29 Sep 2025 00:25:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409283</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=45409283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409283</guid></item><item><title><![CDATA[New comment by chlorion in "Python developers are embracing type hints"]]></title><description><![CDATA[
<p>>The type could be anything, it could be List, Tuple, Dict[int, Any], torch.Size, torch.Tensor, nn.Sequential, np.ndarray, or a huge host of custom types!<p>That's not how you are supposed to use static typing? Python has "protocols" that allows for structural type checking which is intended for this exact problem.</p>
]]></description><pubDate>Mon, 29 Sep 2025 00:20:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409257</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=45409257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409257</guid></item><item><title><![CDATA[New comment by chlorion in "Effective Rust (2024)"]]></title><description><![CDATA[
<p>The difference is that leaking is not UB, the worst case is an OOM situation, which at worst causes a crash, not a security exploit. Crashing is also considered to be safe in rust, panicking is common for example when something bad happens.</p>
]]></description><pubDate>Mon, 03 Mar 2025 15:44:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43242829</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=43242829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43242829</guid></item><item><title><![CDATA[New comment by chlorion in "Abusing C to implement JSON parsing with struct methods"]]></title><description><![CDATA[
<p>What are you even talking about?<p>I've never saw anyone claim that doing UB in Rust is okay because its wrapped in an unsafe block?<p>If anything I've saw the exact opposite of this, cases of UB in libraries is considered a <i>bug</i> almost always, vs in C or C++ where "its the users fault for doing the thing wrong".<p>I notice you spreading an awful lot of bs about rust lately, not sure what the deal is but its pretty childish and lame, not to mention objectively wrong.</p>
]]></description><pubDate>Sun, 02 Mar 2025 16:47:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=43232258</link><dc:creator>chlorion</dc:creator><comments>https://news.ycombinator.com/item?id=43232258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43232258</guid></item></channel></rss>