<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: cyco130</title><link>https://news.ycombinator.com/user?id=cyco130</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 24 Apr 2026 21:34:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cyco130" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cyco130 in "The GNU libc atanh is correctly rounded"]]></title><description><![CDATA[
<p>tanh is a very pleasant sounding overdrive function for audio, for example.</p>
]]></description><pubDate>Sat, 18 Apr 2026 10:10:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47814654</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=47814654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47814654</guid></item><item><title><![CDATA[New comment by cyco130 in "Everything Should Be Typed: Scalar Types Are Not Enough"]]></title><description><![CDATA[
<p>One neat trick for TypeScript branded types is to use { "~brand": "SOME BRAND" } instead of { __brand: "SOME BRAND" }. __brand shows up at the top of the autocomplete keys where "~brand" shows at the bottom.</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:46:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47764965</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=47764965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764965</guid></item><item><title><![CDATA[New comment by cyco130 in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>Axios has maxContentLength and maxBodyLength options. I would probably go with undici nowadays though (it also has maxResponseSize).</p>
]]></description><pubDate>Tue, 31 Mar 2026 15:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47588736</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=47588736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47588736</guid></item><item><title><![CDATA[New comment by cyco130 in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>I'm not sure fetch is a good server-side API. The typical fetch-based code snippet `fetch(API_URL).then(r => r.json())` has no response body size limit and can potentially bring down a server due to memory exhaustion if the endpoint at API_URL malfunctions for some reason. Fine in the browser but to me it should be a no-no on the server.</p>
]]></description><pubDate>Tue, 31 Mar 2026 13:32:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587131</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=47587131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587131</guid></item><item><title><![CDATA[New comment by cyco130 in "Vocal Guide – belt sing without killing yourself"]]></title><description><![CDATA[
<p>Thanks for the articles, great sources.</p>
]]></description><pubDate>Sun, 08 Feb 2026 13:29:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46934019</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46934019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46934019</guid></item><item><title><![CDATA[New comment by cyco130 in "Vocal Guide – belt sing without killing yourself"]]></title><description><![CDATA[
<p>> Current literature does not distinguish between head voice and falsetto.<p>Hmm, are you sure about this? I thought chest voice and head voice were understood to be a single register called the modal register. And falsetto was fundamentally different.</p>
]]></description><pubDate>Sat, 07 Feb 2026 19:49:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46927076</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46927076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46927076</guid></item><item><title><![CDATA[New comment by cyco130 in "Vocal Guide – belt sing without killing yourself"]]></title><description><![CDATA[
<p>Anecdotal evidence from my own singing at 20 compared to 40 seems to point to the opposite.</p>
]]></description><pubDate>Sat, 07 Feb 2026 13:52:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46923886</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46923886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46923886</guid></item><item><title><![CDATA[New comment by cyco130 in "Is Rust faster than C?"]]></title><description><![CDATA[
<p>It is indeed part of the standard. It says "Within a structure object, the non-bit-field members and the units in which bit-fields reside have
addresses that increase in the order in which they are declared"[1] which doesn't allow implementations to reorder fields, at least according to my understanding.<p>[1] <a href="https://open-std.org/JTC1/SC22/WG14/www/docs/n3220.pdf" rel="nofollow">https://open-std.org/JTC1/SC22/WG14/www/docs/n3220.pdf</a> section 6.7.3.2, paragraph 17.</p>
]]></description><pubDate>Wed, 14 Jan 2026 13:35:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46615904</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46615904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46615904</guid></item><item><title><![CDATA[New comment by cyco130 in "Why is there a tiny hole in the airplane window? (2023)"]]></title><description><![CDATA[
<p>If history is any indication, it would only mean more passengers in the plane.</p>
]]></description><pubDate>Fri, 09 Jan 2026 15:04:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46554618</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46554618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46554618</guid></item><item><title><![CDATA[New comment by cyco130 in "Why is calling my asm function from Rust slower than calling it from C?"]]></title><description><![CDATA[
<p>Natural languages are much more complex.<p>Complex for humans: I can learn a new programming language in an afternoon and be reasonably productive in it within a week or two. I wish I could say the same for natural languages.<p>Complex for computers: We’ve had good compilers since the 50s. Satisfactory language models are less than five years old.</p>
]]></description><pubDate>Tue, 30 Dec 2025 10:57:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46431954</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46431954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46431954</guid></item><item><title><![CDATA[New comment by cyco130 in "C/C++ Embedded Files (2013)"]]></title><description><![CDATA[
<p>My very first open source project[1] aimed to solve the same problem. Nice to see it still has quite a few weekly downloads.<p>[1] <a href="https://sourceforge.net/projects/bin2c/" rel="nofollow">https://sourceforge.net/projects/bin2c/</a></p>
]]></description><pubDate>Fri, 26 Dec 2025 20:05:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46395660</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46395660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46395660</guid></item><item><title><![CDATA[New comment by cyco130 in "Archiving Git branches as tags"]]></title><description><![CDATA[
<p>Not the gp but I can't live without co/ci/br now.</p>
]]></description><pubDate>Fri, 26 Dec 2025 11:24:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=46391134</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46391134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46391134</guid></item><item><title><![CDATA[New comment by cyco130 in "Prove It All Night: With no fame or fortune, what keeps a band onstage? (1999)"]]></title><description><![CDATA[
<p>I celebrated my 25th year on stage almost three years ago. Mostly playing covers in bars.<p>There was a time when we were hoping to “make it” and we did release an album but it wasn’t very successful, of course. That band broke up a few years later but I kept going with different bands.<p>I can’t do it every week anymore, let alone every night. It’s very physically demanding, so once a month is plenty in my age.<p>But it’s still fun. A lot of fun. I can’t imagine ever stopping it until I can’t physically do it. It’s part of who I am. Long live rock’n roll \m/</p>
]]></description><pubDate>Thu, 11 Dec 2025 21:50:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46237687</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46237687</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46237687</guid></item><item><title><![CDATA[New comment by cyco130 in "Compiler Design Lectures [video]"]]></title><description><![CDATA[
<p>I've watched the SSA-related parts of these lectures and, despite the low video quality, I've found the quality of the content to be very high. Lecture notes can be found here: <a href="https://nptel.ac.in/courses/106108052" rel="nofollow">https://nptel.ac.in/courses/106108052</a></p>
]]></description><pubDate>Sat, 06 Dec 2025 12:59:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46172987</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46172987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46172987</guid></item><item><title><![CDATA[Compiler Design Lectures [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/playlist?list=PL3690D679B876DE6A">https://www.youtube.com/playlist?list=PL3690D679B876DE6A</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46172941">https://news.ycombinator.com/item?id=46172941</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 06 Dec 2025 12:53:09 +0000</pubDate><link>https://www.youtube.com/playlist?list=PL3690D679B876DE6A</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46172941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46172941</guid></item><item><title><![CDATA[New comment by cyco130 in "Extra Instructions Of The 65XX Series CPU (1996)"]]></title><description><![CDATA[
<p>These instructions were not intentionally designed and put in there in secret. They're simply an unintended consequence of the "don't care" states of the instruction decoding logic.<p>The decoder is the part of the CPU that maps instruction opcodes to a set of control signals. For example "LDA absolute" (opcode 0xA5) would activate the "put the result in A" signal on its last cycle while "LDX absolute" (opcode 0xA6) would activate the "put the result in X" signal. The undocumented "LAX absolute" (opcode 0xA7) simply activates both because of the decoder logic's internal wiring, causing the result to be put in both registers. For other undocumented opcodes, the "do both of these things" logic is less recognizable but it's always there. Specifically disallowing these illegal states (to make them NOPs or raise an exception, for instance) would require more die space and push the price up.<p>See here[1] for example to get a sense of how opcode bits form certain patterns when arranged in a specific way.<p><pre><code>  [1] https://www.nesdev.org/wiki/CPU_unofficial_opcodes</code></pre></p>
]]></description><pubDate>Sat, 06 Dec 2025 02:41:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46170084</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46170084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46170084</guid></item><item><title><![CDATA[New comment by cyco130 in "You can't fool the optimizer"]]></title><description><![CDATA[
<p>That’s where link-time optimization enters the picture. It’s expensive but tolerable for production builds of small projects and feasible for mid-sized ones.</p>
]]></description><pubDate>Wed, 03 Dec 2025 13:17:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46134152</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46134152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46134152</guid></item><item><title><![CDATA[New comment by cyco130 in "You can't fool the optimizer"]]></title><description><![CDATA[
<p>It would but it's harder to trigger. Here, it's not safe because they're public functions and the standard would require `add_v1 != add_v2` (I think).<p>If you declare them as static, it eliminates the functions and the calls completely: <a href="https://aoco.compiler-explorer.com/z/soPqe7eYx" rel="nofollow">https://aoco.compiler-explorer.com/z/soPqe7eYx</a><p>I'm sure it could also perform definition merging like you suggest but I can't think of a way of triggering it at the moment without also triggering their complete elision.</p>
]]></description><pubDate>Wed, 03 Dec 2025 12:59:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46133973</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46133973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46133973</guid></item><item><title><![CDATA[New comment by cyco130 in "Anthropic acquires Bun"]]></title><description><![CDATA[
<p>First time I see it being a net positive that someone didn't know about Vite: Bun wouldn't exist otherwise.</p>
]]></description><pubDate>Wed, 03 Dec 2025 08:24:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46131666</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46131666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46131666</guid></item><item><title><![CDATA[New comment by cyco130 in "Pocketbase – open-source realtime back end in 1 file"]]></title><description><![CDATA[
<p>What a respectfully and humbly written comparison page. Ditto for their Supabase comparison. I can't rate the objectivity since I know very little about TrailBase but they got my attention now. It brings me such joy to see such a writeup in a world where humility is perceived as weakness. Kudos.</p>
]]></description><pubDate>Fri, 28 Nov 2025 06:19:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46076032</link><dc:creator>cyco130</dc:creator><comments>https://news.ycombinator.com/item?id=46076032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46076032</guid></item></channel></rss>