<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>Wed, 21 Oct 2026 14:09:21 +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 "I set a trap for a book-marketing scammer (2025)"]]></title><description><![CDATA[
<p>i also tapped out quickly. how many times can you describe the same thing?<p>Claude: "Hold my beer."</p>
]]></description><pubDate>Sun, 23 Aug 2026 03:12:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49405814</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=49405814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49405814</guid></item><item><title><![CDATA[New comment by leeoniya in "Going Dark, and the era of law enforcement hacking"]]></title><description><![CDATA[
<p>> The one shown in Wikipedia is mine.<p>neat!<p><a href="https://upload.wikimedia.org/wikipedia/commons/e/e3/Pen_Register.jpg?utm_source=commons.wikimedia.org&utm_campaign=index&utm_content=original" rel="nofollow">https://upload.wikimedia.org/wikipedia/commons/e/e3/Pen_Regi...</a><p>assuming you still have it, it wouldn't be the worst idea to update the pic to something without chromatic aberration and motion blur. the wiki pic is probably the worst of the bunch compared to others on google image search :)</p>
]]></description><pubDate>Sat, 15 Aug 2026 02:40:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=49307089</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=49307089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49307089</guid></item><item><title><![CDATA[New comment by leeoniya in "Stop sending me huge PRs; a rant"]]></title><description><![CDATA[
<p>It's possible to do a large amount of AI-assisted work, then do a second/third/fourth pass to break it up into a reviewable stack of self-contained PRs. But it takes time, and there's no such thing as one-shotting it. And it's basically impossible to continuously rebase manually without burning tokens. The way to merge the stack is more-or-less "stop the world".<p>However, I have yet to see how this will play out with upstream contribs:<p><a href="https://github.com/moment/luxon/discussions/1796" rel="nofollow">https://github.com/moment/luxon/discussions/1796</a><p><a href="https://github.com/leeoniya/luxon/tree/leeoniya/perf-patches/benchmarks/patches" rel="nofollow">https://github.com/leeoniya/luxon/tree/leeoniya/perf-patches...</a></p>
]]></description><pubDate>Sat, 15 Aug 2026 02:12:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49306957</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=49306957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49306957</guid></item><item><title><![CDATA[New comment by leeoniya in "Improving Heuristics for A* Pathfinding"]]></title><description><![CDATA[
<p>i've always been impressed by NBA*: <a href="https://github.com/anvaka/ngraph.path" rel="nofollow">https://github.com/anvaka/ngraph.path</a><p>demo: <a href="https://anvaka.github.io/ngraph.path.demo/" rel="nofollow">https://anvaka.github.io/ngraph.path.demo/</a></p>
]]></description><pubDate>Sun, 09 Aug 2026 05:40:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49228740</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=49228740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49228740</guid></item><item><title><![CDATA[Show HN: easy-tz – A fast, 10KB, dependency-free getTimeZonesAt(timestamp)]]></title><description><![CDATA[
<p>If you have a time zone picker in your web UI that shows accurate & current time zone abbreviations, there's a good chance it's pulling in 770KB of moment-timezone dependency. And if you were thinking of replacing moment with luxon, this use case would be a potential blocker for shrinking your bundle.<p>It is surprisingly challenging [and soul-sucking] to work with timezone lore with the goal of reducing this down to something small and fast. There are many performance foot-guns and correctness edge-cases that have to be addressed. With the help of AI (Fable 5 here), this becomes tractable for a single engineer to iterate on in the span of a weekend. I worked through about 12 different prototypes during the process, mixing and matching various strategies and approaches for every aspect of the final result. This should tell you something about how much taste and steering still needs to be applied even to frontier models by an experienced swe to produce something of high production-grade quality, not just, "it works, ship it". If you're familiar with my existing OSS work, I would not ship any level of unaudited slop :) Also, <a href="https://github.com/leeoniya/easy-tz/blob/main/comparison.md" rel="nofollow">https://github.com/leeoniya/easy-tz/blob/main/comparison.md</a> is not to be missed.<p>Hopefully one other dev (or agent) finds this useful; I think it fills a missing gap in the frontend timezone-handling ecosystem.<p>disclaimer: still 0.1.0, so if you use any of the non-default implementations in the lib, expect some turbulence before 1.0.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48937896">https://news.ycombinator.com/item?id=48937896</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 16 Jul 2026 17:55:53 +0000</pubDate><link>https://github.com/leeoniya/easy-tz</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48937896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48937896</guid></item><item><title><![CDATA[New comment by leeoniya in "Dopamine Fracking"]]></title><description><![CDATA[
<p>so, Your Attention is All They Need?</p>
]]></description><pubDate>Mon, 08 Jun 2026 13:19:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48444991</link><dc:creator>leeoniya</dc:creator><comments>https://news.ycombinator.com/item?id=48444991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48444991</guid></item><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></channel></rss>