<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: panphora</title><link>https://news.ycombinator.com/user?id=panphora</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 14 Sep 2026 07:17:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=panphora" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by panphora in "Ask HN: What are you working on? (September 2026)"]]></title><description><![CDATA[
<p>I'm working on a way to make some pretty advanced software in a single HTML file.<p>The idea is simple: store state you'd normally store in a separate database in the document itself.<p>Then, also give the the document a bunch of powerful APIs granted to it by its host:<p>(1) Sync changes to the document with live collaborators<p>(2) Extract data from the document using a simple JSON map config<p>(3) Boot up a full content CMS from the same simple JSON map config<p>(4) More features added every month<p>I'm really excited with even the tiny bit of early traction I've gotten. About a dozen paying users so far.<p>Long term, I'd love to have this file type (vanilla HTML file + some extra features granted by the host) become a file type other companies offer tools and their own hosting for (like Wordpress).<p>Hosted platform: <a href="https://hyperclay.com" rel="nofollow">https://hyperclay.com</a><p>Native offline apps (source available, almost MIT license):<p>- <a href="https://htmlclay.com" rel="nofollow">https://htmlclay.com</a><p>- <a href="https://hyperclaylocal.com" rel="nofollow">https://hyperclaylocal.com</a></p>
]]></description><pubDate>Mon, 14 Sep 2026 01:42:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49690814</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=49690814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49690814</guid></item><item><title><![CDATA[New comment by panphora in "SpaceX bond worth 10% less than issue price – heading for junk bond status"]]></title><description><![CDATA[
<p>That simply isn't true. Progress toward a goal isn't the same as leading the field.<p>Autonomous driving is the clearest counterexample: by March 2026 Waymo had logged over 220 million rider-only miles with nobody in the driver's seat, and was doing 400,000+ rides per week across six US metros. Tesla's consumer product is still officially "Full Self-Driving (Supervised)," and Tesla itself says it does not make the car autonomous. Mercedes has Level 3 certification. Tesla has none.<p>Optimus missed the stated 5,000 robots in 2025. As of July 2026, Tesla still isn't selling it and is only preparing manufacturing capacity. Meanwhile Agility's Digit is in commercial warehouse deployment today. Solar Roof is worse: Musk targeted 1,000 installations per week, and Wood Mackenzie estimated Tesla averaged about 21 in 2022. Tesla's disputed the number but offered no replacement count.<p>SpaceX is the real exception. It genuinely leads, and the engineering is remarkable. But it's still a decade overdue on "crewed Mars by 2024." That's the point: on the one venture where "more progress than anyone else" is actually true, the promise is still failing by over a decade.<p>The criticism isn't that nothing comes to pass. It's that concrete near term promises repeatedly fail and get replaced by bigger ones. When a valuation depends on being uniquely far ahead, competitors catching up erases that premium fast.</p>
]]></description><pubDate>Wed, 15 Jul 2026 14:38:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48921542</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=48921542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48921542</guid></item><item><title><![CDATA[New comment by panphora in "SpaceX bond worth 10% less than issue price – heading for junk bond status"]]></title><description><![CDATA[
<p>The losses fall on bondholders now, but it does make it harder for SpaceX to raise money going forward. And if they actually slip into junk territory, some institutional investors will be forced to sell (mandates only allow investment-grade), pushing prices down and yields/spreads up even further.<p>That can snowball: wider spreads → higher borrowing costs → more stress → wider spreads. The existing bonds' coupons are fixed, so the real bite is on future issuance and refinancing.<p>Lots of capital-intensive companies (SpaceX is definitely in this category) lean heavily on debt markets to fund ongoing investment and roll over maturing debt, so losing cheap access is a big deal.</p>
]]></description><pubDate>Wed, 15 Jul 2026 14:27:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48921376</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=48921376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48921376</guid></item><item><title><![CDATA[Cal.com is closing its core codebase, citing AI security risks]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/pumfleet/status/2044406553508274554">https://twitter.com/pumfleet/status/2044406553508274554</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47779309">https://news.ycombinator.com/item?id=47779309</a></p>
<p>Points: 8</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 15 Apr 2026 14:16:51 +0000</pubDate><link>https://twitter.com/pumfleet/status/2044406553508274554</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=47779309</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47779309</guid></item><item><title><![CDATA[New comment by panphora in "The Great Unwind"]]></title><description><![CDATA[
<p>Anger about the 2008 bailout makes sense. Yen carry unwind deserves attention. However, the trading call to action fails on market structure.<p>Key counterpoints:<p>- Global FX turnover runs near $9.6T per day (BIS, April 2025). A retail wave of calls will not move USD/JPY in a durable way at that scale.<p>- /6J options settle on /6J futures. When you buy calls, you mostly push dealer delta hedging into futures, then dealers unwind as exposure changes. No sustained spot yen demand comes from that flow.<p>- FXY calls track an ETF wrapper, not spot.<p>- “Widowmaker trade” most often refers to repeated losses from shorting Japanese government bonds, not a long-yen crowd squeeze.</p>
]]></description><pubDate>Wed, 04 Feb 2026 19:08:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46890210</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=46890210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46890210</guid></item><item><title><![CDATA[New comment by panphora in "Ask HN: What Are You Working On? (December 2025)"]]></title><description><![CDATA[
<p>Hyperclay: a way to package up HTML files as portable, editable apps that contain their own editable UI. I'm using these simple apps to plan, edit emails, write blog posts, and a lot more. I edit them on my mac and they sync to the web live.<p>It feels like being able to design my own document format on the fly and display it however I want. It's making it painfully obvious how many editable primitives the web is missing, however.<p><a href="https://hyperclay.com/" rel="nofollow">https://hyperclay.com/</a></p>
]]></description><pubDate>Mon, 15 Dec 2025 00:52:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46268981</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=46268981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46268981</guid></item><item><title><![CDATA[New comment by panphora in "React vs. Backbone in 2025"]]></title><description><![CDATA[
<p>Author here.<p>I agree that all frameworks require learning framework-specific concepts, but I think there's a meaningful difference in what you need to know and how that knowledge transfers.<p>With Backbone, jQuery, or vanilla JavaScript, you're learning DOM APIs, event patterns, and explicit state management. These are things that are visible, inspectable, and fundamentally close to the platform. When something breaks, you can pop open devtools, see the actual DOM, trace the event handlers, and understand what's happening. The knowledge you gain is transferable. It's about how the web platform actually works.<p>With React, you're learning abstractions on top of abstractions: virtual DOM diffing, reconciliation algorithms, why objects in dependency arrays cause infinite loops, why your click handler sees stale state, why your input mysteriously cleared itself. This is React-specific magic that doesn't transfer. It's knowledge about how to work around React's mental model, not knowledge about how the web works.<p>You mention that batching and DOM reconciliation are solvable problems that justify React's complexity. But the article's point is that for most apps -- not Facebook-scale apps with 1,000 components on one page, but normal CRUD apps -- those problems can be solved with simpler patterns and conventions. We don't need a virtual DOM and a sophisticated reconciliation algorithm to build a form validator.<p>The real question isn't "does React solve problems?" It's "does React's complexity match the complexity of the problems most developers are actually solving?"</p>
]]></description><pubDate>Sat, 25 Oct 2025 15:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45704591</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45704591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45704591</guid></item><item><title><![CDATA[New comment by panphora in "React vs. Backbone in 2025"]]></title><description><![CDATA[
<p>Author here.<p>The "paleo influencer" comparison is interesting, but I think it actually works both ways here.<p>Yes, there's a temptation to romanticize the past and dismiss modern tools. But there's an equally strong tendency to assume that newer, more popular, and more widely-adopted automatically means better. React didn't just win on pure technical merit. It has Facebook's marketing muscle behind it, it became a hiring checkbox, and it created a self-reinforcing ecosystem where everyone learns it because everyone uses it.<p>The article isn't suggesting that a "huge global collective of the world's most talented engineers have been conned." It's asking a much more nuanced question: did all that effort actually move us forward, or did we just move sideways into different complexity?<p>Look at the two implementations in the article. They do the same thing. They're roughly the same length. After 15 years of React development, countless developer hours, and a massive ecosystem, we're not writing dramatically less code or solving the problem more elegantly. We're just solving it differently, with different tradeoffs.<p>Sometimes looking backward isn't about being a "retro-idealist," it's about questioning whether we added complexity without proportional benefit. The paleo diet people might be onto something when they point out that we over-engineered our food. Maybe we over-engineered our frameworks too.</p>
]]></description><pubDate>Sat, 25 Oct 2025 15:20:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45704576</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45704576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45704576</guid></item><item><title><![CDATA[New comment by panphora in "React vs. Backbone in 2025"]]></title><description><![CDATA[
<p>Author here.<p>I appreciate the point about unidirectional data flow solving real problems, but I think we're trading one complexity for another rather than actually simplifying things.<p>Yes, cascading state changes with Backbone Store were frustrating to debug. But React's abstractions introduce their own set of equally frustrating problems: stale closures where your click handler sees old state, infinite useEffect loops because an object in the dependency array gets recreated every render, mysterious input clearing because a key changed from stable to index-based.<p>The difference is that Backbone's problems were explicit and visible. When something broke, you could trace the event handlers, see what fired when, and understand the flow. The complexity was in your face, which made it debuggable.<p>React's problems are hidden behind abstraction layers.<p>I'm not saying React doesn't solve problems. I'm questioning whether those solutions are appropriate for the 99% of apps that aren't Facebook-scale. Sometimes the explicit, verbose approach is actually easier to reason about in the long run.</p>
]]></description><pubDate>Sat, 25 Oct 2025 15:18:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45704560</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45704560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45704560</guid></item><item><title><![CDATA[New comment by panphora in "React vs. Backbone in 2025"]]></title><description><![CDATA[
<p>This is a really cool approach! I checked out your Mockaton dashboard code and love what you're doing. Here's a simplified example of your pattern that really showcases its elegance:<p><pre><code>  // Using your minimal native DOM library (15 lines)
  function TodoApp() {
      return r('div', null,
          r('h1', null, 'Todo List'),
          r('ul', null,
              store.todos.map(todo => 
                  r('li', { 
                      className: todo.done ? 'done' : '',
                      onClick: () => store.toggleTodo(todo.id)
                  }, todo.text)
              )
          ),
          r('input', {
              placeholder: 'Add todo...',
              onKeyDown(e) {
                  if (e.key === 'Enter') {
                      store.addTodo(this.value)
                      this.value = ''
                  }
              }
          })
      )
  }

    // Full re-render on any change - just replace everything!
    store.render = () => document.body.replaceChildren(...TodoApp())
</code></pre>
What I love about this:
- Zero build step - no JSX transpilation, no bundler needed
- Direct DOM access - `this.value` just works, no synthetic events
- Brutally simple - the entire "framework" is ~10 lines<p>You're absolutely right that a native DOM merge API would unlock this pattern completely. I just wish this could happen in the DOM instead of JS, so that we could get the power of the DOM as an intuitive model to think about instead of abstracting it into an amorphous data structure.<p>The fact that it has no build step and works directly on the DOM is fantastic — very similar to Backbone in terms of being able to understand what's happening under the hood! You can pop open devtools, see exactly what's happening, and modify it on the fly. No virtual DOM, no reconciliation mysteries, just functions returning DOM descriptions that get wholesale replaced.</p>
]]></description><pubDate>Fri, 24 Oct 2025 13:48:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45694602</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45694602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45694602</guid></item><item><title><![CDATA[React vs. Backbone in 2025]]></title><description><![CDATA[
<p>Article URL: <a href="https://backbonenotbad.hyperclay.com/">https://backbonenotbad.hyperclay.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45677968">https://news.ycombinator.com/item?id=45677968</a></p>
<p>Points: 4</p>
<p># Comments: 2</p>
]]></description><pubDate>Thu, 23 Oct 2025 03:47:26 +0000</pubDate><link>https://backbonenotbad.hyperclay.com/</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45677968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45677968</guid></item><item><title><![CDATA[New comment by panphora in "Shiller PE Ratio"]]></title><description><![CDATA[
<p>You're cherry picking the tech titans that made it out of the Dot Com boom alive. The NASDAQ-100 had to replace 36 of its components between 2000-2002 due to bankruptcies and delistings - nobody knew in 1999 which companies would be the survivors.<p>The NASDAQ topped at 5,048.62 on March 10, 2000. It took 15 years for the NASDAQ to recover to its dot-com peak level. In those 15 years, you got an inflation-adjusted negative annualized ROI.<p>Annualized return of the NASDAQ from the 2000 peak to today is an inflation-adjusted 3.4%. Even "sure thing" blue chips like Cisco and Intel still haven't recovered their 2000 peaks in real terms, 25 years later.</p>
]]></description><pubDate>Thu, 25 Sep 2025 15:17:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45373751</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=45373751</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45373751</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>I wasn't planning to launch today hehe. The changelog and pricing links are fixed!</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:34:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939149</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939149</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>The author (me) was strongly inspired by TiddlyWiki -- I love that software and wish it was allowed to proliferate more. If only browser vendors allowed their users to persist HTML files back to their own machines, we'd have a whole new ecosystem of personal applications!<p>I wish I could change the name from Hyperclay to TiddlyApp :)</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:32:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939128</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939128</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>Hi Clemens, I'm a big admirer of yours and what you're doing with Webstrates. I first heard of you about a year ago, when I was first exploring the ideas that became Hyperclay.<p>I love the idea of a local-first Hyperclay. Offline editing is one of the pillars of personal software and I'd like to head in that direction.<p>Would you be open to hopping on a video call at some point? I'd love to compare notes.</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:29:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939119</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939119</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>1. Security: It operates under the same security model as most website builders (think SquareSpace), we completely trust the end user to modify their own site in their own best interest. If the end user violates this trust, they will lose access to their paid account and could be liable to damages from other users. Their actions, their consequences.<p>2. Who can modify: You can modify any app you create. You can also "enable signups", which allows other users to easily fork your app, but they all trace back to your source app. We're making a plan right now where you can ship updates to forked apps.<p>3. Difficult to maintain: Pieter Levels (of NomadList) famously codes his $60k/month apps in single index.php files, so I suppose it matter how you organize your code and what level of navigating-through-the-cruft you're comfortable with.<p>4. Other people can fork your app and track their own beers. We also want to integrate collaboration features, so 2 people can have control over the same page simultaneously, but for now it's best for single-user apps.</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:26:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939111</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939111</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>This is a version that lets you easily update HTML apps locally. The hosted version is for when you want to share your apps or let other people fork them online.<p>But the ultimate goal is to have an ecosystem of where you can host/deploy/use HTML apps, including other competing services.</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939076</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939076</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>Sorry about that, it's fixed now: MIT License</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:19:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939065</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939065</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939065</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>I added this word-for-word to the home page. Thank you!<p>Note: we are working on a way for a developer to push "DOM-based schema migrations" to all forked apps.</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:16:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939047</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939047</guid></item><item><title><![CDATA[New comment by panphora in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>Yes, I agree. My dream would be to one day work on a browser and integrate Hyperclay into it. I believe web apps have been around long enough as a core web technology that browsers should ship with a local web host, knowledge of what a user and user account is, and the ability to persist to disk whatever the user chooses.</p>
]]></description><pubDate>Mon, 18 Aug 2025 10:08:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44939004</link><dc:creator>panphora</dc:creator><comments>https://news.ycombinator.com/item?id=44939004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44939004</guid></item></channel></rss>