<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: danabramov</title><link>https://news.ycombinator.com/user?id=danabramov</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 22:24:11 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=danabramov" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by danabramov in "Stop throwing AI-generated walls of text into conversations"]]></title><description><![CDATA[
<p>Do people actually do this? I’ve been on a sabbatical when the whole AI thing happened and I might start working again soon and I’m not sure what to expect in the Slack mines.</p>
]]></description><pubDate>Thu, 21 May 2026 17:50:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48226519</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48226519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48226519</guid></item><item><title><![CDATA[New comment by danabramov in "Throwing AI-generated walls of text into conversations"]]></title><description><![CDATA[
<p>it’s like raaayeyeeeaaaayeeeain</p>
]]></description><pubDate>Thu, 21 May 2026 17:49:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48226509</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48226509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48226509</guid></item><item><title><![CDATA[Japanese Verb Conjugation the Simple Hard Way]]></title><description><![CDATA[
<p>Article URL: <a href="https://underreacted.leaflet.pub/3mmevu6woys27">https://underreacted.leaflet.pub/3mmevu6woys27</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48225985">https://news.ycombinator.com/item?id=48225985</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 21 May 2026 17:10:10 +0000</pubDate><link>https://underreacted.leaflet.pub/3mmevu6woys27</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48225985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48225985</guid></item><item><title><![CDATA[AT Protocol for Agents]]></title><description><![CDATA[
<p>Article URL: <a href="https://davidgasquez.com/atproto-agents">https://davidgasquez.com/atproto-agents</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48193202">https://news.ycombinator.com/item?id=48193202</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 19 May 2026 13:41:28 +0000</pubDate><link>https://davidgasquez.com/atproto-agents</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48193202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48193202</guid></item><item><title><![CDATA[New comment by danabramov in "YC's Biggest Scandals"]]></title><description><![CDATA[
<p>I mean mostly the writing. The  visual design is fine but the grandiose tone is clearly LLM, as well as attempt to be “data-driven” to an absurd degree.<p>The screaming “DAMAGE” blocks, “body count”, “(EXHIBIT)”, “7.8X MORE SCANDALS PER YEAR”, all of this looks extremely stupid, screams LLM, and undermines the points the authors want to make.</p>
]]></description><pubDate>Sun, 10 May 2026 19:51:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=48087212</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48087212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48087212</guid></item><item><title><![CDATA[New comment by danabramov in "YC's Biggest Scandals"]]></title><description><![CDATA[
<p>LLM-designed sites like this are always so pompous. The obnoxious format does a disservice to what you’re trying to present.</p>
]]></description><pubDate>Sun, 10 May 2026 19:47:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48087168</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=48087168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48087168</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>No because apps are decoupled many-to-many with hosting.<p>Every app can display public data from every other app because the source of truth is outside both apps (in hosting).<p>App owner can’t do bad things to your account other than banning you in their particular app. Other apps (even for same data) independently choose whether to show your data. So app owners are only in control over how your data is presented in <i>their</i> apps, not over your actual data.<p>Whereas in AP, each app’s moderators literally control your entire identity.</p>
]]></description><pubDate>Thu, 30 Apr 2026 16:06:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47964558</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47964558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47964558</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>A new hosting provider can preemptively request known relays to crawl it. Or relays (or apps) can lazily discover it when the user hosted there tries to log in for the first time, or their data is linked to by a known user. It’s similar to the relationships between websites and search engines.<p>Hosting providers don’t need to discover other hosting providers. Data only flows between hosting and apps; not between hosting and hosting or apps and apps.</p>
]]></description><pubDate>Wed, 29 Apr 2026 21:47:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47955179</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47955179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47955179</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>Yes to both.<p>An app can choose to ignore/ban some users (or even entire hosting servers if they’re specifically created for network abuse). This is similar to how any web app may choose to ignore POST requests from spammers.<p>And yes, someone can decide to aggregate data themselves and provide an alternative app over same data with different moderation policies. In fact that’s already the case (Blacksky runs their own application server that mostly piggybacks on Bluesky moderation decisions but overrides some of them. There are also clients that ignore moderation altogether and show you the raw data from hosting.)</p>
]]></description><pubDate>Wed, 29 Apr 2026 21:33:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47955036</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47955036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47955036</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>Who are “they” here? Hosting providers? Hosting is app-agnostic and you can run it yourself.</p>
]]></description><pubDate>Wed, 29 Apr 2026 21:28:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47954964</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47954964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47954964</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>Alas no, but it’s just a couple. I resisted adding tags so far…</p>
]]></description><pubDate>Wed, 29 Apr 2026 18:50:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952682</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47952682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952682</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>Note a relay is a perf optimization and doesn’t have to be a single shared chokepoint.<p>These days running a relay is fairly cheap (~$30/mo?), there’s maybe a dozen of them, and some apps don’t use one at all (instead relying on services like <a href="https://constellation.microcosm.blue/" rel="nofollow">https://constellation.microcosm.blue/</a> for querying backlinks).</p>
]]></description><pubDate>Wed, 29 Apr 2026 18:35:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952494</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47952494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952494</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>Atproto isn’t “many servers sending messages to each other”. It’s structured more like RSS:<p>1) there’s an app-agnostic hosting layer (and anyone can run a host, a bit like personal site with RSS)<p>2) then there’s apps, which aggregate over data from all hosts (a bit like Google Reader or Feedly)<p>So there’s no such thing as “defederating”. You don’t have many copies of Tangled beefing with each other. It’s more like you can run your own hosting for <i>your own</i> data (if you want), and anyone can build an app that aggregates from everyone’s data (Tangled is one such app).<p>If this got you curious, I have two longreads: <a href="https://overreacted.io/open-social/" rel="nofollow">https://overreacted.io/open-social/</a> (conceptual) and <a href="https://overreacted.io/a-social-filesystem/" rel="nofollow">https://overreacted.io/a-social-filesystem/</a> (diving into the data model).</p>
]]></description><pubDate>Wed, 29 Apr 2026 18:29:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952389</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47952389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952389</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>There’s a clear difference in architecture between<p>1) a layer of app-agnostic hosting providers + a separate independent layer of apps aggregating over data from those (like personal sites with RSS + aggregators like Google Reader)<p>2) a circle of flat instances where each node couples app+hosting (like many little Twitters)<p>One doesn’t couple hosting with apps, another one does.<p>Mastodon/AP model is (2), atproto model is (1). You should be able to see the outcomes from different network shapes.<p>In atproto, you can build a new app that works with existing data, but in AP you can’t. In atproto you can move hosting with zero effect on your identity or how you show up in apps, in AP you can’t.</p>
]]></description><pubDate>Wed, 29 Apr 2026 17:54:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47951907</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47951907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47951907</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>There’s no such thing as “running a domain” or “atproto provider” in atproto. You’re approaching it with a Mastodon/AP mindset and it doesn’t match that.<p>In atproto, there’s two axes.<p>One is hosting. Bluesky offers hosting but some people host on their own (it’s just a Docker container with sqlite), some on Cloudflare, some on community-hosted nodes like <a href="https://npmx.dev" rel="nofollow">https://npmx.dev</a> and <a href="https://selfhosted.social" rel="nofollow">https://selfhosted.social</a>. From app perspective it looks exactly the same way (unlike in Mastodon where “hosting” = “choosing a community”) and you can switch hosting anytime.<p>Another axis is apps. Apps <i>aggregate</i> from data from all hosts. Bluesky is an app, Tangled is an app, Leaflet is an app, Wisp is an app, Semble is an app, and so on. Those can all aggregate over the same data (which enables cross-app interop) but they don’t have to (eg Bluesky doesn’t overlap with Tangled much except that Tangled can reuse Bluesky avatar on login). Generally you don’t have people running copies of the same app (as in Mastodon) which is why there aren’t many “blueskyes”. But when someone has an incentive, they can. (Eg Blacksky is a complete fork including server and DB, allowing their own moderation decisions over same data.) Similarly you can build your own app on top of distributed Tangled data.<p>Hope that helps clarify why “atproto provider” as a concept doesn’t make sense. You have hosting, which is as distributed as you want, and you have apps, which anyone can make.</p>
]]></description><pubDate>Wed, 29 Apr 2026 17:48:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47951829</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47951829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47951829</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>If anyone here’s curious about atproto data model, I wrote an into here: <a href="https://overreacted.io/a-social-filesystem/" rel="nofollow">https://overreacted.io/a-social-filesystem/</a><p>It’s a bit long but should give you a really crisp picture.</p>
]]></description><pubDate>Wed, 29 Apr 2026 14:46:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47949181</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47949181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47949181</guid></item><item><title><![CDATA[New comment by danabramov in "We need a federation of forges"]]></title><description><![CDATA[
<p>ActivityPub and atproto are differently shaped. Pitting them against each other is like asking “why need web when we have email”.<p>ActivityPub is email-shaped. Servers are inboxes sending messages to each other.<p>atproto is web-shaped. User repositories host data (like personal sites or git/RSS), while apps aggregate from repositories (like Google Reader).<p>Different topologies lead to different properties. Eg atproto lets user change hosting with no disruption in app experience. atproto also lets anyone build new apps aggregating over existing data.<p>ActivityPub doesn’t allow either of those things. It’s literally a bunch of small centralized coupled hosting+app services messaging each other.</p>
]]></description><pubDate>Wed, 29 Apr 2026 14:44:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47949161</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47949161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47949161</guid></item><item><title><![CDATA[New comment by danabramov in "Tim Cook Is Leaving. Good"]]></title><description><![CDATA[
<p>If you're being honest, I apologize. I find it a bit difficult to believe but maybe it's really that the style is everywhere now. Partially it's sentence pattern cliches:<p><i>>Not just sell. Not just ship. Use.</i><p><i>>The honest read ... The hopeful read ...</i><p><i>>The grumbling isn’t about features. It’s about the texture of using the products.</i><p><i>>Yes, Apple Silicon is incredible. Yes, the Watch saved lives. Yes, the iPhone got better cameras</i><p>There's also bizarre not-quite-landing uncanny metaphors that LLMs <i>love</i> to do:<p><i>>Today's Apple ships friction and treats it like background radiation.</i><p><i>>The texture changed.</i><p><i>>And the rot follows that exact line.</i><p>If you're surrounded by this kind of writing, it may be good to get other inspirations. It's bad!</p>
]]></description><pubDate>Mon, 27 Apr 2026 13:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47921650</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47921650</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47921650</guid></item><item><title><![CDATA[New comment by danabramov in "Tim Cook Is Leaving. Good"]]></title><description><![CDATA[
<p><i>"But here's the thing"</i><p>Is it really so hard to write your articles by yourself? The blandest tone imaginable, all the usual LLM tells in the sentence structure. You are polluting HN and the broader internet by posting this publicly.</p>
]]></description><pubDate>Mon, 27 Apr 2026 13:35:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47921386</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47921386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47921386</guid></item><item><title><![CDATA[New comment by danabramov in "The Vercel plugin on Claude Code wants to read your prompts"]]></title><description><![CDATA[
<p>Hey, appreciate the reply! I’m sorry for lashing out as well.<p>Re: protocol, I see where you’re coming from although I can also see the team perspective and I kind of like it the way it is. The team’s perspective is that this isn’t a “protocol” in the sense that HTTP or such is. It isn’t designed to have many implementations emitting it. It is an implementation detail of React itself for which React provides both the “writer” and the “reader”. Those <i>are</i> completely open source — none of the RSC frameworks need to know the actual wire format. They just use the packages provided by React to read and write. Keeping the protocol an implementation detail of React (rather than an “open format”) lets React evolve it pretty substantially between versions with zero concerns about backwards compat. Which is still quite useful at this stage.<p>When you’re concerned about wire format not being an open protocol, it’s because you’re imagining it would be useful for others to read and write. But this doesn’t really buy you anything. If you’re making an RSC framework, you should just use the React packages for reading and writing. And if you’re not, there’s no reason to use this format. Eg if you make an RSC-<i>like</i> framework in another (non-JS) language, it’s better for you to use your own wire format that’s more targeted to your use case.<p>Does this help clarify it?<p>(Note I do think it would be beneficial to document the current version for educational reasons, which is part of why I made <a href="https://rscexplorer.dev" rel="nofollow">https://rscexplorer.dev</a>, but that’s separate from wanting it to be fixed in stone as protocols must be. I think the desire for it to be fixed is rooted in a misconception that frameworks like Next.js somehow “rely” on the protocol and thus have “secret knowledge”, but that’s false — they just use the React packages for it and stay agnostic of the actual protocol.)</p>
]]></description><pubDate>Sat, 11 Apr 2026 08:24:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47728646</link><dc:creator>danabramov</dc:creator><comments>https://news.ycombinator.com/item?id=47728646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47728646</guid></item></channel></rss>