<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: qbane</title><link>https://news.ycombinator.com/user?id=qbane</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 01:57:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=qbane" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by qbane in "The Last Quiet Thing"]]></title><description><![CDATA[
<p>The watch is interactive! Nice detail</p>
]]></description><pubDate>Mon, 06 Apr 2026 19:13:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47665476</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47665476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47665476</guid></item><item><title><![CDATA[New comment by qbane in "GitHub is once again down"]]></title><description><![CDATA[
<p>Productivity is finite. If you pivot entirely to the AI stack, you're going to lose bandwidth for everything else. It's an opportunity cost problem.</p>
]]></description><pubDate>Tue, 24 Mar 2026 21:43:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47509857</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47509857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47509857</guid></item><item><title><![CDATA[New comment by qbane in "Ask ChatGPT to pick a number from 1-10000, it generally selects from 7200-7500"]]></title><description><![CDATA[
<p>A better example would be to use LLMs to generate passwords or secret keys. Then even if it looks random to human, the inherent bias would make it a security disaster.</p>
]]></description><pubDate>Sun, 22 Mar 2026 07:06:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47475152</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47475152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47475152</guid></item><item><title><![CDATA[New comment by qbane in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>You can still obfuscate JS heavily and make a VM that executes also obfuscated code calling arbitrary browser APIs. At least In WASM everything is sandboxed so the attack surface is smaller.</p>
]]></description><pubDate>Thu, 12 Mar 2026 05:00:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47346671</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47346671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47346671</guid></item><item><title><![CDATA[New comment by qbane in "Hacker News.love – 22 projects Hacker News didn't love"]]></title><description><![CDATA[
<p>cf. Kagi is a good take</p>
]]></description><pubDate>Mon, 23 Feb 2026 16:06:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47124220</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47124220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47124220</guid></item><item><title><![CDATA[Technical Breakdown: How AI Agents Ignore 40 Years of Security Progress [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=_3okhTwa7w4">https://www.youtube.com/watch?v=_3okhTwa7w4</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47120411">https://news.ycombinator.com/item?id=47120411</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Feb 2026 10:26:11 +0000</pubDate><link>https://www.youtube.com/watch?v=_3okhTwa7w4</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=47120411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47120411</guid></item><item><title><![CDATA[New comment by qbane in "Anthropic's original take home assignment open sourced"]]></title><description><![CDATA[
<p>Remember: It is a company that keep saying how much production code can be written by AI in xx years, but at the same time recruiting new engineers.</p>
]]></description><pubDate>Wed, 21 Jan 2026 09:46:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46703284</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46703284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46703284</guid></item><item><title><![CDATA[New comment by qbane in "Show HN: Pdfwithlove – PDF tools that run 100% locally (no uploads, no back end)"]]></title><description><![CDATA[
<p>The "source" link at the footer seems to point to the author's GitHub profile, not source repository. The repo under it contains no code either.</p>
]]></description><pubDate>Mon, 19 Jan 2026 08:33:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46676352</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46676352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46676352</guid></item><item><title><![CDATA[New comment by qbane in "C++ std::move doesn't move anything: A deep dive into Value Categories"]]></title><description><![CDATA[
<p>I read Effective Modern C++ years ago and was confused exactly like what you describe.</p>
]]></description><pubDate>Sun, 11 Jan 2026 20:58:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46579994</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46579994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46579994</guid></item><item><title><![CDATA[New comment by qbane in "A production bug that made me care about undefined behavior"]]></title><description><![CDATA[
<p>icc's result is interesting too</p>
]]></description><pubDate>Mon, 29 Dec 2025 21:47:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46426150</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46426150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46426150</guid></item><item><title><![CDATA[New comment by qbane in "Show HN: Minimalist editor that lives in browser, stores everything in the URL"]]></title><description><![CDATA[
<p>Just started making my own recently with CodeMirror 6 during holidays. No saving function for now: <a href="https://qbane.github.io/cgm" rel="nofollow">https://qbane.github.io/cgm</a></p>
]]></description><pubDate>Wed, 24 Dec 2025 20:03:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46378734</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46378734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46378734</guid></item><item><title><![CDATA[New comment by qbane in "Fabrice Bellard Releases MicroQuickJS"]]></title><description><![CDATA[
<p>Not likely:<p>> It only supports a subset of Javascript close to ES5 [...]<p>I have not read the code of the solver, but solving YouTube's JS challenge is so demanding that the team behind yt-dlp ditched their JS emulator written in Python.</p>
]]></description><pubDate>Tue, 23 Dec 2025 20:00:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46368842</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46368842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46368842</guid></item><item><title><![CDATA[New comment by qbane in "Making Google Sans Flex"]]></title><description><![CDATA[
<p>To declare "open source", you have to provide a way for the public to get access to the source code. But there seems to be none at least for the time being.</p>
]]></description><pubDate>Fri, 19 Dec 2025 10:32:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46324288</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46324288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46324288</guid></item><item><title><![CDATA[New comment by qbane in "Put a ring on it: a lock-free MPMC ring buffer"]]></title><description><![CDATA[
<p>That is a fair assessment. Maintaining read/write pos and peek them at every operation is a big performance hit. The impact is amplified if each invocation needs a syscall. That is exactly what futexes address: Allowing spin locks to remain in user space and avoid entering the kernel as long as contention is low.<p>In JavaScript, atomic operations are relatively lightweight, so their overhead is likely acceptable. Given that, I am open to adjusting my code to your suggested approach and seeing how it performs in practice.</p>
]]></description><pubDate>Wed, 17 Dec 2025 19:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46304239</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46304239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46304239</guid></item><item><title><![CDATA[New comment by qbane in "Put a ring on it: a lock-free MPMC ring buffer"]]></title><description><![CDATA[
<p>By a quick glance, yes, this is what I want: a channel to communicate between processes via a piece of shared memory, protected by a pair of futexes.<p>In JS ecosystem, buffers that allow data loss is more common (aka ring buffers), but ringbuf.js [1] is the only complete implementation to my knowledge. In my use case on I/O between WASM modules where data must be transferred as-is, the process must block on buffer overrun/underrun in a synchronous manner. Therefore a circular buffer is required.  I could not find such a niche library written in JS, so I decided to bite the bullet and reinvent the wheel [2].<p>[1]: <a href="https://github.com/padenot/ringbuf.js" rel="nofollow">https://github.com/padenot/ringbuf.js</a><p>[2]: <a href="https://github.com/andy0130tw/spsc" rel="nofollow">https://github.com/andy0130tw/spsc</a></p>
]]></description><pubDate>Tue, 16 Dec 2025 17:47:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46291655</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46291655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46291655</guid></item><item><title><![CDATA[New comment by qbane in "Put a ring on it: a lock-free MPMC ring buffer"]]></title><description><![CDATA[
<p>I wrote my first SPSC circular buffer implementation in TS upon reading the previous post on futex [0] from the same author. It was more intricate than it had seemed, until I finally sat down and wrote my own code.<p>[0]: <a href="https://h4x0r.org/futex/" rel="nofollow">https://h4x0r.org/futex/</a> discussion: <a href="https://news.ycombinator.com/item?id=44951563">https://news.ycombinator.com/item?id=44951563</a></p>
]]></description><pubDate>Tue, 16 Dec 2025 14:30:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46288933</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46288933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46288933</guid></item><item><title><![CDATA[New comment by qbane in "Shai-Hulud Returns: Over 300 NPM Packages Infected"]]></title><description><![CDATA[
<p>`--ignore-scripts` should be the default behavior.</p>
]]></description><pubDate>Mon, 24 Nov 2025 12:49:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46033547</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=46033547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46033547</guid></item><item><title><![CDATA[New comment by qbane in "Boa: A standard-conforming embeddable JavaScript engine written in Rust"]]></title><description><![CDATA[
<p>I really appreciate the clear and detailed project description, the only concern is the title on HN. Failing on tests is fine, especially when it demands huge efforts to triage and reiterate on the project structure for them.</p>
]]></description><pubDate>Sun, 16 Nov 2025 04:06:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=45942666</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=45942666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45942666</guid></item><item><title><![CDATA[New comment by qbane in "Boa: A standard-conforming embeddable JavaScript engine written in Rust"]]></title><description><![CDATA[
<p>If you mean "latest" ECMAScript then that is true. Even latest gcc or clang does not support all features from C++23: <a href="https://en.cppreference.com/w/cpp/compiler_support.html" rel="nofollow">https://en.cppreference.com/w/cpp/compiler_support.html</a>.</p>
]]></description><pubDate>Sun, 16 Nov 2025 03:42:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45942574</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=45942574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45942574</guid></item><item><title><![CDATA[New comment by qbane in "Boa: A standard-conforming embeddable JavaScript engine written in Rust"]]></title><description><![CDATA[
<p>I am not meant to be harsh, but note that it fails on a small number of test cases, on v0.21 that is ~900 out of ~50k. Strictly speaking it cannot be described as standard-comforming unless there is some reason behind every failed test. A better way to strive on standard conformance, like QuickJS takes, is to pin down the ecma262 revision and make it 100% compliant.</p>
]]></description><pubDate>Sat, 15 Nov 2025 19:37:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45939993</link><dc:creator>qbane</dc:creator><comments>https://news.ycombinator.com/item?id=45939993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45939993</guid></item></channel></rss>