<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: kpcyrd</title><link>https://news.ycombinator.com/user?id=kpcyrd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 05:15:52 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kpcyrd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kpcyrd in "Blocking Internet Archive Won't Stop AI, but Will Erase Web's Historical Record"]]></title><description><![CDATA[
<p>You don't think non-consensually revealing somebody's identity is a problem?<p>Resorting to DDoS is not pretty, but "why is my violent behavior met with violence" is a little oblivious and reversal of victim and perpetrator roles.</p>
]]></description><pubDate>Sat, 21 Mar 2026 12:52:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47466574</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47466574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47466574</guid></item><item><title><![CDATA[New comment by kpcyrd in "Astral to Join OpenAI"]]></title><description><![CDATA[
<p>I stopped programming in python about 8-9 years ago because the tooling was so bad.</p>
]]></description><pubDate>Fri, 20 Mar 2026 01:36:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47449259</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47449259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47449259</guid></item><item><title><![CDATA[New comment by kpcyrd in "Astral to Join OpenAI"]]></title><description><![CDATA[
<p>Step 1: discontinue the public repository, step 2: sell access to your GPL codebase.<p>The GPL (and even the AGPL) doesn't require you to make your modified source code publicly available (Debian explicitly considers licenses with this requirement non-free). The GPL only states you need to provide your customers with source code.</p>
]]></description><pubDate>Fri, 20 Mar 2026 01:23:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47449129</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47449129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47449129</guid></item><item><title><![CDATA[New comment by kpcyrd in "Astral to Join OpenAI"]]></title><description><![CDATA[
<p>I think this was more about "please choose _any_ license" because of the problem outlined here:<p><a href="https://opensource.stackexchange.com/questions/1150/is-my-code-floss-just-because-it-is-published-it-on-github" rel="nofollow">https://opensource.stackexchange.com/questions/1150/is-my-co...</a></p>
]]></description><pubDate>Fri, 20 Mar 2026 01:09:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47448988</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47448988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47448988</guid></item><item><title><![CDATA[New comment by kpcyrd in "Malus – Clean Room as a Service"]]></title><description><![CDATA[
<p>I feel like this is related to these issues (with somebody attempting this approach for real):<p><a href="https://github.com/chardet/chardet/issues/327" rel="nofollow">https://github.com/chardet/chardet/issues/327</a><p><a href="https://github.com/chardet/chardet/issues/331" rel="nofollow">https://github.com/chardet/chardet/issues/331</a></p>
]]></description><pubDate>Thu, 12 Mar 2026 17:30:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47354348</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47354348</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47354348</guid></item><item><title><![CDATA[New comment by kpcyrd in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>Many of the anti-debugging techniques for desktop binaries do not work on WebAssembly: it can't jump to an address, it can't read the instruction pointer, it can't read/access it's own machine code, ...</p>
]]></description><pubDate>Wed, 11 Mar 2026 22:50:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47343456</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47343456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47343456</guid></item><item><title><![CDATA[New comment by kpcyrd in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>Obfuscated javascript could still import a WebAssembly polyfill, if there really was any advantage in doing so: <a href="https://github.com/evanw/polywasm" rel="nofollow">https://github.com/evanw/polywasm</a><p>Since WebAssembly instructions are much easier to reason about, you could probably auto-optimize away a lot of the obfuscation, like "this is a silly way to do X, so we can just do X directly".</p>
]]></description><pubDate>Wed, 11 Mar 2026 22:46:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47343408</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47343408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47343408</guid></item><item><title><![CDATA[New comment by kpcyrd in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>It's mostly Rust compiled to wasm binaries. There's also TinyGo and you could use C/C++ as well, but those 3 are a lot less common as far as I can tell.</p>
]]></description><pubDate>Wed, 11 Mar 2026 22:21:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47343034</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47343034</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47343034</guid></item><item><title><![CDATA[New comment by kpcyrd in "Redox OS has adopted a Certificate of Origin policy and a strict no-LLM policy"]]></title><description><![CDATA[
<p>Your open source experience is very different from my open source experience.</p>
]]></description><pubDate>Tue, 10 Mar 2026 12:54:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47322618</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47322618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47322618</guid></item><item><title><![CDATA[New comment by kpcyrd in "PCB devboard the size of a USB-C plug"]]></title><description><![CDATA[
<p>Running Rust on them worked well for me: <a href="https://github.com/kpcyrd/ch32v003-demo" rel="nofollow">https://github.com/kpcyrd/ch32v003-demo</a><p>I had to put in more effort regarding RAM use and flash size, but I managed to fit a game into the 16kb limit regardless: <a href="https://github.com/kpcyrd/game-streetcat2026" rel="nofollow">https://github.com/kpcyrd/game-streetcat2026</a></p>
]]></description><pubDate>Mon, 09 Mar 2026 13:33:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47308870</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47308870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47308870</guid></item><item><title><![CDATA[New comment by kpcyrd in "My “grand vision” for Rust"]]></title><description><![CDATA[
<p>I just want to be able to call Default::default() from within const {}</p>
]]></description><pubDate>Mon, 09 Mar 2026 13:19:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47308705</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47308705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47308705</guid></item><item><title><![CDATA[New comment by kpcyrd in "100M-Row Challenge with PHP"]]></title><description><![CDATA[
<p>The time you lose at the syscall boundary you may be able to win back during much shorter GC pauses.</p>
]]></description><pubDate>Wed, 25 Feb 2026 16:16:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47153549</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47153549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47153549</guid></item><item><title><![CDATA[New comment by kpcyrd in "Gentoo on Codeberg"]]></title><description><![CDATA[
<p>Security, sha1 was deprecated in 2011 by NIST due to security concerns, and browsers reject sha1 certificates as invalid since 2017.<p>Yet programmers in 2026 for some reason are still using it when signing their git tags and commits. Unless they are using a sha256 git repository.</p>
]]></description><pubDate>Wed, 25 Feb 2026 14:40:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47152134</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47152134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47152134</guid></item><item><title><![CDATA[New comment by kpcyrd in "100M-Row Challenge with PHP"]]></title><description><![CDATA[
<p>What about using the filesystem as an optimized dict implementation?</p>
]]></description><pubDate>Wed, 25 Feb 2026 14:18:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47151800</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47151800</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47151800</guid></item><item><title><![CDATA[New comment by kpcyrd in "Don't pass on small block ciphers"]]></title><description><![CDATA[
<p>The ch32v003 implements RISC-V without the M extension, meaning there's not even a MUL/DIV instruction.<p>Out of all micro controllers I've worked with, only a single one had AES cpu instructions.</p>
]]></description><pubDate>Wed, 18 Feb 2026 14:06:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47061041</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47061041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47061041</guid></item><item><title><![CDATA[New comment by kpcyrd in "Gentoo on Codeberg"]]></title><description><![CDATA[
<p>I moved one of my projects from Github to codeberg because Github can't deal with sha256 repositories, but codeberg can.</p>
]]></description><pubDate>Tue, 17 Feb 2026 20:37:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47052971</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47052971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47052971</guid></item><item><title><![CDATA[New comment by kpcyrd in "Show HN: Knock-Knock.net – Visualizing the bots knocking on my server's door"]]></title><description><![CDATA[
<p>Nice, are you using something like this?<p><pre><code>    iptables -I OUTPUT -p tcp --sport 22 --tcp-flags RST RST -j DROP
    iptables -I OUTPUT -p tcp --sport 22 --tcp-flags FIN FIN -j DROP
</code></pre>
Unfortunately this is still trivial to work around with a read timeout.</p>
]]></description><pubDate>Mon, 16 Feb 2026 10:43:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47033474</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=47033474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47033474</guid></item><item><title><![CDATA[New comment by kpcyrd in "Rust at Scale: An Added Layer of Security for WhatsApp"]]></title><description><![CDATA[
<p>Very cool! I'm wondering if Signal is doing something similar? libsignal is implemented in Rust, but I don't know about the other parts.</p>
]]></description><pubDate>Wed, 28 Jan 2026 09:23:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46793004</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=46793004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46793004</guid></item><item><title><![CDATA[New comment by kpcyrd in "We can't have nice things because of AI scrapers"]]></title><description><![CDATA[
<p>The API seems to be written in Perl: <a href="https://github.com/metabrainz/musicbrainz-server" rel="nofollow">https://github.com/metabrainz/musicbrainz-server</a></p>
]]></description><pubDate>Tue, 13 Jan 2026 23:04:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46609681</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=46609681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46609681</guid></item><item><title><![CDATA[New comment by kpcyrd in "We can't have nice things because of AI scrapers"]]></title><description><![CDATA[
<p>I wish this wasn't necessary, but the next steps forward are likely:<p>a) Have a reverse proxy that keeps a "request budget" per IP and per net block, but instead of blocking requests, causing the client to rotate their IP, the requests get throttled/slowed down, without dropping them.<p>b) Write your API servers in more efficient languages. According to their Github, their backend runs on Perl and Python. These technologies have been "good enough" for quite some time, but considering current circumstances and until a better solution is found, this may not be the case anymore and performance and cpu cost per request does matter these days.<p>c) Optimize your database queries, remove as much code as possible from your unauthenticated GET request handlers, require authentication for the expensive ones.</p>
]]></description><pubDate>Tue, 13 Jan 2026 23:02:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46609656</link><dc:creator>kpcyrd</dc:creator><comments>https://news.ycombinator.com/item?id=46609656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46609656</guid></item></channel></rss>