<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: leeoniya</title><link>https://news.ycombinator.com/user?id=leeoniya</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 09:28:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=leeoniya" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by leeoniya in "Gnutella: A Protocol Outliving the World That Created It"]]></title><description><![CDATA[
<p>or was it Windows hiding file extensions by default and you downloaded a .mp3.exe file?</p>
]]></description><pubDate>Mon, 25 May 2026 15:37:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48268104</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48268104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48268104</guid></item><item><title><![CDATA[New comment by leeoniya in "PHP's Oddities"]]></title><description><![CDATA[
<p>surprised not to see <a href="http://phpsadness.com/" rel="nofollow">http://phpsadness.com/</a> here</p>
]]></description><pubDate>Sat, 23 May 2026 18:50:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48250193</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48250193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48250193</guid></item><item><title><![CDATA[New comment by leeoniya in "Meta blocks human rights accounts from reaching audiences in Arabia and the UAE"]]></title><description><![CDATA[
<p>the term "Americans" always bothered me, though it's commonly used to refer to US</p>
]]></description><pubDate>Wed, 20 May 2026 16:16:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48210105</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48210105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48210105</guid></item><item><title><![CDATA[New comment by leeoniya in "I believe there are entire companies right now under AI psychosis"]]></title><description><![CDATA[
<p>> "no no, it has full test coverage"<p>i don't have enough fingers (and toes) to count how many times i've demonstrated that "100% coverage" is almost universally bullshit.</p>
]]></description><pubDate>Fri, 15 May 2026 21:13:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48153932</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48153932</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48153932</guid></item><item><title><![CDATA[New comment by leeoniya in "Golden Testing a CAD Library"]]></title><description><![CDATA[
<p>if you want to do image diffing, use <a href="https://github.com/dmtrKovalenko/odiff" rel="nofollow">https://github.com/dmtrKovalenko/odiff</a><p>however, if you have SVGs already, compare those without rasterizing them first, then if that fails rasterize & odiff the baseline and new on-demand. this way you dont waste a ton of space storing a bunch of binary [possibly evolving] pngs in git.</p>
]]></description><pubDate>Thu, 14 May 2026 07:07:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48132051</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48132051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48132051</guid></item><item><title><![CDATA[New comment by leeoniya in "Fast and Easy Levenshtein distance using a Trie (2011)"]]></title><description><![CDATA[
<p>Levenshtein distance is often a poor way to fuzzy match or rank. i suspect that in js, even the trie approach would incur significant GC/alloc thrashing or cost of building a huge trie index.<p>i tried fuzzy matching using a cleverly-assembled regexp approach which works surprisingly well: <a href="https://github.com/leeoniya/uFuzzy" rel="nofollow">https://github.com/leeoniya/uFuzzy</a></p>
]]></description><pubDate>Thu, 16 Apr 2026 13:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47792915</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47792915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47792915</guid></item><item><title><![CDATA[New comment by leeoniya in "EPA official in charge of methane regulations was an oil and gas lobbyist"]]></title><description><![CDATA[
<p>> Sen. Sheldon Whitehouse<p>ok, i was confused for a minute.<p>> And, given that the gas breaks down relatively quickly, this would have been one of the fastest ways to reduce global warming.<p>s/quickly/slowly?</p>
]]></description><pubDate>Sun, 05 Apr 2026 15:24:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47650379</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47650379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47650379</guid></item><item><title><![CDATA[New comment by leeoniya in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>> for a 2–3% performance gain<p>this is highly workload-dependent. there are plenty of APIs that are multiple-factor faster and 10x more memory efficient due to native implementation.</p>
]]></description><pubDate>Tue, 31 Mar 2026 18:30:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47591532</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47591532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47591532</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>ack, see my reply to sibling comment: <a href="https://news.ycombinator.com/item?id=47572206">https://news.ycombinator.com/item?id=47572206</a></p>
]]></description><pubDate>Mon, 30 Mar 2026 09:32:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47572252</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47572252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47572252</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>no disagreement. i never claimed uWrap did anything more than it does. it was not meant for typography/text-layout but for line count estimation. it never needed to be perfect, and i did not claim equivalence to pretext. however, for the use case of virtualization of data tables -- a use case pretext is also targeted at -- and in the common case of latin alphabets, right now pretext is significantly slower. i <i>hope</i> that it can become faster despite its much more thorough support for "rest of the owl".</p>
]]></description><pubDate>Mon, 30 Mar 2026 09:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47572206</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47572206</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47572206</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>i don't have a mac to test this with currently, so hopefully it's not the price but a matter of adding a Safari-specific adjustement :)<p>internally it still uses the Canvas measureText() API, so there's nothing fundamentally that should differ unless Safari has broken measureText, which tbh, would not be out of character for that browser.</p>
]]></description><pubDate>Mon, 30 Mar 2026 09:17:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47572157</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47572157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47572157</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>tried just doing a concat of the 100k sentences with line breaks, it wasnt much faster, ~1880ms.</p>
]]></description><pubDate>Mon, 30 Mar 2026 02:59:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569929</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47569929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569929</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>it is not clear from the API/docs how i would use prepare() once on one text and then use layout() for completely different text.<p>i think the intended purpose is that your text is maybe large but static and your layout just changes quickly. this is not the case for figuring out the height of 100k rows of different texts in a table, for example.</p>
]]></description><pubDate>Mon, 30 Mar 2026 00:41:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569103</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47569103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569103</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>correct, it was meant for estimating row height for virtualizing a 100k row table with a latin-ish LTR charset (no emoji handling, etc). its scope is much narrower. still, the difference in perf is significant, which i have found to be true in general of AI-generated geenfield code.</p>
]]></description><pubDate>Mon, 30 Mar 2026 00:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569081</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47569081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569081</guid></item><item><title><![CDATA[New comment by leeoniya in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>i wrote something similar for this purpose, but much simpler and in 2kb, without AI, about a year ago.<p>uWrap.js: <a href="https://news.ycombinator.com/item?id=43583478">https://news.ycombinator.com/item?id=43583478</a>. it did <i>not</i> reach 11k stars overnight, tho :D<p>for ASCII text, mine finishes in 80ms, while pretext takes 2200ms. i haven't yet checked pretext for accuracy (how closely it matches the browser), but will test tonight - i expect it will do well.<p>let's see how close pretext can get to 80ms (or better) without adopting the same tricks.<p><a href="https://github.com/chenglou/pretext/issues/18" rel="nofollow">https://github.com/chenglou/pretext/issues/18</a><p>there are already significant perf improvement PRs open right now, including one done using autoresearch.</p>
]]></description><pubDate>Mon, 30 Mar 2026 00:10:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47568878</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47568878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47568878</guid></item><item><title><![CDATA[New comment by leeoniya in "Full Disclosure: A Third (and Fourth) Azure Sign-In Log Bypass Found"]]></title><description><![CDATA[
<p>just throw another few on the pile:<p><a href="https://mastodon.social/@azureshit" rel="nofollow">https://mastodon.social/@azureshit</a></p>
]]></description><pubDate>Fri, 20 Mar 2026 15:28:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47455978</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=47455978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47455978</guid></item><item><title><![CDATA[New comment by leeoniya in "Why is the sky blue?"]]></title><description><![CDATA[
<p>the good ones would usually follow up with, "how much detail do you _really_ want ;D"</p>
]]></description><pubDate>Mon, 09 Feb 2026 20:56:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46951154</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=46951154</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46951154</guid></item><item><title><![CDATA[New comment by leeoniya in "Why is the sky blue?"]]></title><description><![CDATA[
<p>i used something like this in unstructured technical interviews all the time.<p>"you type a phrase into google search, you press enter, get some results. tell me, in technical detail, what happened in that chain of actions"<p>the diversity of replies is fascinating, you learn a lot about a "full stack" candidate this way.<p>Feynman's classic "Why?" chain: <a href="https://www.youtube.com/watch?v=36GT2zI8lVA" rel="nofollow">https://www.youtube.com/watch?v=36GT2zI8lVA</a></p>
]]></description><pubDate>Mon, 09 Feb 2026 19:15:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46949567</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=46949567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46949567</guid></item><item><title><![CDATA[New comment by leeoniya in "Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)"]]></title><description><![CDATA[
<p>hey!<p>> But regarding sampling, if it's a line chart, you can sample adaptively by checking whether the next point makes a meaningfully visible difference measured in pixels compared to its neighbours.<p>uPlot basically does this (see sibling comment), so hopefully that's some validation for you :)</p>
]]></description><pubDate>Thu, 22 Jan 2026 01:24:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46714011</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=46714011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46714011</guid></item><item><title><![CDATA[New comment by leeoniya in "Show HN: ChartGPU – WebGPU-powered charting library (1M points at 60fps)"]]></title><description><![CDATA[
<p>> In Ardour (a cross-platform, libre, open source DAW), we actually compute and store min/max-per-N-samples and use that for plotting (and as the basis for further downsampling.<p>this is, effectively, what uPlot does, too: <a href="https://github.com/leeoniya/uPlot/issues/1119" rel="nofollow">https://github.com/leeoniya/uPlot/issues/1119</a></p>
]]></description><pubDate>Thu, 22 Jan 2026 01:22:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46713996</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=46713996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46713996</guid></item></channel></rss>