<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: esprehn</title><link>https://news.ycombinator.com/user?id=esprehn</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 24 May 2026 22:48:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=esprehn" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by esprehn in "Flue is a TypeScript framework for building the next generation of agents"]]></title><description><![CDATA[
<p>One big difference seems to be Mastra has tests and this project doesn't.</p>
]]></description><pubDate>Sat, 02 May 2026 19:54:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47989863</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47989863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47989863</guid></item><item><title><![CDATA[New comment by esprehn in "The woes of sanitizing SVGs"]]></title><description><![CDATA[
<p>It also can't inherit css variables which is unfortunate since it means the image doesn't respect the theme.</p>
]]></description><pubDate>Tue, 28 Apr 2026 02:02:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47929715</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47929715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47929715</guid></item><item><title><![CDATA[New comment by esprehn in "The woes of sanitizing SVGs"]]></title><description><![CDATA[
<p>They totally could sanitize it, just like they did with the gadget proxy, they just choose not to fix this ancient request.<p>It's like my ticket to add data url support to sheets. It just gets punted year after year.</p>
]]></description><pubDate>Tue, 28 Apr 2026 01:59:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47929693</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47929693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47929693</guid></item><item><title><![CDATA[New comment by esprehn in "Caffeine, cocaine, and painkillers detected in sharks from The Bahamas"]]></title><description><![CDATA[
<p>There's a whole movie about a snail that's super fast (Turbo). An adult version of that isn't so far fetched.</p>
]]></description><pubDate>Mon, 13 Apr 2026 12:16:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47750917</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47750917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47750917</guid></item><item><title><![CDATA[New comment by esprehn in "You can't cancel a JavaScript promise (except sometimes you can)"]]></title><description><![CDATA[
<p>Yes, I was around during the original discussions. AbortSignal exists because TC39 was taking too long and cancelling fetch() is table stakes for a networking oriented platform like the web.<p>Those threads are a good example of what's wrong in TC39. A simple AbortSignal could have been added, but by the time it's reconciled with SES, large speculative APIs like Governers, or the original attempt to add a parallel throw mechanism just for cancellation, nothing actually gets done.<p>It's been 10 years since CancelToken was first discussed and  we're still debating it.</p>
]]></description><pubDate>Wed, 08 Apr 2026 02:33:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47684241</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47684241</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47684241</guid></item><item><title><![CDATA[New comment by esprehn in "Cambodia unveils statue to honour famous landmine-sniffing rat"]]></title><description><![CDATA[
<p>I just can't help but imagine those long lived rats escaping and taking  over our cities. We already struggle with the rat population and they only live 3 years, imagine if they lived 15.<p>Also I love rats and totally agree they're tough pets because they don't live long enough. We had many of them growing up and spent a fortune removing tumors.</p>
]]></description><pubDate>Wed, 08 Apr 2026 02:20:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47684128</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47684128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47684128</guid></item><item><title><![CDATA[New comment by esprehn in "You can't cancel a JavaScript promise (except sometimes you can)"]]></title><description><![CDATA[
<p>AbortSignal is same thing on the Web. It's unfortunate TC39 failed to ever bring a CancelToken to the language to standardize the pattern outside browsers.</p>
]]></description><pubDate>Tue, 07 Apr 2026 14:52:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47676356</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47676356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47676356</guid></item><item><title><![CDATA[New comment by esprehn in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>The proposal already exists [1], but vendors would need to agree to both prioritize and ship it.<p>Right now Chrome is much more focused on AI related APIs (sigh) and not stuff like FontMetrics.<p>[1] <a href="https://drafts.css-houdini.org/font-metrics-api-1/" rel="nofollow">https://drafts.css-houdini.org/font-metrics-api-1/</a></p>
]]></description><pubDate>Mon, 30 Mar 2026 02:14:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569654</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47569654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569654</guid></item><item><title><![CDATA[New comment by esprehn in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>The FontMetrics API solves this, hopefully browsers will ship it someday.<p><a href="https://drafts.css-houdini.org/font-metrics-api-1/" rel="nofollow">https://drafts.css-houdini.org/font-metrics-api-1/</a><p>RIP eae@.</p>
]]></description><pubDate>Mon, 30 Mar 2026 02:11:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569637</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47569637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569637</guid></item><item><title><![CDATA[New comment by esprehn in "I decompiled the White House's new app"]]></title><description><![CDATA[
<p>It can request with a JS call. It can't passively collect it without you approving first. The article is written like calling that JS function will turn on location tracking without consent.</p>
]]></description><pubDate>Sat, 28 Mar 2026 18:11:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47556980</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47556980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47556980</guid></item><item><title><![CDATA[New comment by esprehn in "Show HN: I took back Video.js after 16 years and we rewrote it to be 88% smaller"]]></title><description><![CDATA[
<p>This is very cool, but I'm confused why the React player is smaller than the HTML player. What's actually in the size comparison there?</p>
]]></description><pubDate>Wed, 25 Mar 2026 01:55:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47512223</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47512223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47512223</guid></item><item><title><![CDATA[New comment by esprehn in "Node.js worker threads are problematic, but they work great for us"]]></title><description><![CDATA[
<p>The worker situation would be much better with inline workers (or modules).<p><a href="https://github.com/tc39/proposal-module-declarations" rel="nofollow">https://github.com/tc39/proposal-module-declarations</a><p>Unfortunately the JS standards folks have refused so far to make this situation better.<p>Ex. it should just be `new Worker(module { ... })`.</p>
]]></description><pubDate>Sun, 22 Mar 2026 15:23:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47478481</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47478481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47478481</guid></item><item><title><![CDATA[New comment by esprehn in "The three pillars of JavaScript bloat"]]></title><description><![CDATA[
<p>No one really does, but there's one particular individual who keeps pushing to support things like node 0.3 and who also maintains all those low level intrinsic packages.</p>
]]></description><pubDate>Sun, 22 Mar 2026 12:21:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47476761</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47476761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47476761</guid></item><item><title><![CDATA[New comment by esprehn in "Afroman found not liable in defamation case"]]></title><description><![CDATA[
<p>2022. I'm not sure phones recorded useful video in 2002.</p>
]]></description><pubDate>Thu, 19 Mar 2026 13:26:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47439033</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47439033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47439033</guid></item><item><title><![CDATA[New comment by esprehn in "The MacBook Neo"]]></title><description><![CDATA[
<p>Ah this is what I missed: <a href="https://daringfireball.net/linked/2026/03/12/macbook-neo-on-screen-camera-indicator" rel="nofollow">https://daringfireball.net/linked/2026/03/12/macbook-neo-on-...</a><p>It's not just the menu bar icon (which can definitely be spoofed), but an on screen dot where the system is controlling pixels directly bypassing any OS level drawing on the screen.<p>Related: <a href="https://www.reddit.com/r/iphone/comments/1in0681/iphone_16_models_have_new_security_functionality/" rel="nofollow">https://www.reddit.com/r/iphone/comments/1in0681/iphone_16_m...</a></p>
]]></description><pubDate>Fri, 13 Mar 2026 01:22:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47359603</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47359603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47359603</guid></item><item><title><![CDATA[New comment by esprehn in "The MacBook Neo"]]></title><description><![CDATA[
<p>The missing camera light seems pretty serious. Any sandbox escape can turn on the camera and record without you noticing. Or your school or employer could. If you're in full screen mode the menu bar is hidden too. It's a very strange move for privacy centered Apple.</p>
]]></description><pubDate>Thu, 12 Mar 2026 02:10:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47345457</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47345457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47345457</guid></item><item><title><![CDATA[New comment by esprehn in "Making WebAssembly a first-class language on the Web"]]></title><description><![CDATA[
<p>The web doesn't work without dynamic feature detection. I couldn't find anything in the component model about how this is expected to work.<p>The DOM is not a static interface, it changes both across browsers based on implemention status and also based on features enabled on a per page load basis.<p>The multi browser ecosystem also mainly works because of polyfills.<p>It's not clear how to polyfill random methods on a WIT interface or how to detect at runtime which methods exist.<p>OTOH the JS bridge layer we use today means you can load JS side polyfills and get wasm that's portable across browsers with no modifications. There's more to the ecosystem than just performance.</p>
]]></description><pubDate>Thu, 12 Mar 2026 01:54:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47345312</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47345312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47345312</guid></item><item><title><![CDATA[New comment by esprehn in "Nobody gets promoted for simplicity"]]></title><description><![CDATA[
<p>Those verbs (reduced, decreased, increased) all assume the situation was "bad"  already. Avoiding that in the initial design is what's poorly rewarded.<p>Building a system that's fast on day one will not usually be rewarded as well as building a slow system and making it 80% faster.</p>
]]></description><pubDate>Wed, 04 Mar 2026 13:55:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47247432</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47247432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47247432</guid></item><item><title><![CDATA[New comment by esprehn in "MacBook Air with M5"]]></title><description><![CDATA[
<p>Have you used a MacBook as a daily driver since the M chips came out?</p>
]]></description><pubDate>Tue, 03 Mar 2026 16:15:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47234634</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47234634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47234634</guid></item><item><title><![CDATA[New comment by esprehn in "Zuckerberg's internal emails rendered as Facebook Messenger"]]></title><description><![CDATA[
<p>This is really cool, but I wish it was sorted by date. It's difficult to see the narrative since it jumps around.</p>
]]></description><pubDate>Tue, 03 Mar 2026 02:25:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47227160</link><dc:creator>esprehn</dc:creator><comments>https://news.ycombinator.com/item?id=47227160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47227160</guid></item></channel></rss>