<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: tannerlinsley</title><link>https://news.ycombinator.com/user?id=tannerlinsley</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 10:13:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tannerlinsley" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>You’re the only one</p>
]]></description><pubDate>Tue, 14 Apr 2026 14:26:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47766080</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47766080</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47766080</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>It works, but once again, you will be left without a stable native caching mechanism in React unless you put the stream into state. Use Query, or Router, or something.</p>
]]></description><pubDate>Tue, 14 Apr 2026 07:21:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762350</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47762350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762350</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>Thanks guys!</p>
]]></description><pubDate>Tue, 14 Apr 2026 07:19:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762338</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47762338</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762338</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>Correct. People need to stop conflating SSR with RSC. Well said.</p>
]]></description><pubDate>Tue, 14 Apr 2026 07:19:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762334</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47762334</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762334</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>Coming soon!</p>
]]></description><pubDate>Tue, 14 Apr 2026 06:03:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47761820</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47761820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761820</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Start Now Support React Server Components"]]></title><description><![CDATA[
<p>Thank you!</p>
]]></description><pubDate>Tue, 14 Apr 2026 06:03:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47761817</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=47761817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761817</guid></item><item><title><![CDATA[New comment by tannerlinsley in "React is winning by default and slowing innovation"]]></title><description><![CDATA[
<p>Thank you for your kind words and support!</p>
]]></description><pubDate>Tue, 16 Sep 2025 02:02:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45257205</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=45257205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45257205</guid></item><item><title><![CDATA[Next.js vs. TanStack]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.kylegill.com/essays/next-vs-tanstack/">https://www.kylegill.com/essays/next-vs-tanstack/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43404609">https://news.ycombinator.com/item?id=43404609</a></p>
<p>Points: 13</p>
<p># Comments: 4</p>
]]></description><pubDate>Tue, 18 Mar 2025 20:25:02 +0000</pubDate><link>https://www.kylegill.com/essays/next-vs-tanstack/</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=43404609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43404609</guid></item><item><title><![CDATA[TanStack Form V1 – Type-Safe, Agnostic, Headless Form Library]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/tannerlinsley/status/1896595066778743136">https://twitter.com/tannerlinsley/status/1896595066778743136</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43243694">https://news.ycombinator.com/item?id=43243694</a></p>
<p>Points: 10</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 03 Mar 2025 16:49:40 +0000</pubDate><link>https://twitter.com/tannerlinsley/status/1896595066778743136</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=43243694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43243694</guid></item><item><title><![CDATA[Why React Query?]]></title><description><![CDATA[
<p>Article URL: <a href="https://ui.dev/why-react-query">https://ui.dev/why-react-query</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40302567">https://news.ycombinator.com/item?id=40302567</a></p>
<p>Points: 9</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 08 May 2024 20:45:53 +0000</pubDate><link>https://ui.dev/why-react-query</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=40302567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40302567</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TanStack Router v1"]]></title><description><![CDATA[
<p>Announcement: <a href="https://x.com/tannerlinsley/status/1738709130213560497?s=46&t=G_TyByuiCK5mKuyyO5C39g" rel="nofollow noreferrer">https://x.com/tannerlinsley/status/1738709130213560497?s=46&...</a></p>
]]></description><pubDate>Sun, 24 Dec 2023 21:04:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=38756852</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=38756852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38756852</guid></item><item><title><![CDATA[TanStack Router v1]]></title><description><![CDATA[
<p>Article URL: <a href="https://tanstack.com/router/v1">https://tanstack.com/router/v1</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38756851">https://news.ycombinator.com/item?id=38756851</a></p>
<p>Points: 8</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 24 Dec 2023 21:04:33 +0000</pubDate><link>https://tanstack.com/router/v1</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=38756851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38756851</guid></item><item><title><![CDATA[New comment by tannerlinsley in "[dead]"]]></title><description><![CDATA[
<p>Keyword clustering that finds the overlapping URLs in the top 10 between SERPs to generate clusters with actionable metrics like Traffic Opportunity, Max Estimated Traffic, and more. You can start improving your content and SEO based on real data.</p>
]]></description><pubDate>Mon, 26 Jun 2023 15:59:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=36481508</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=36481508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36481508</guid></item><item><title><![CDATA[New comment by tannerlinsley in "Observable Plot: A JavaScript library for exploratory data visualization"]]></title><description><![CDATA[
<p>You have no idea how excited I am about this.</p>
]]></description><pubDate>Fri, 28 Apr 2023 20:44:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=35746886</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=35746886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35746886</guid></item><item><title><![CDATA[New comment by tannerlinsley in "TypeScript is terrible for library developers"]]></title><description><![CDATA[
<p>TLDR: I write and maintain several good-sized typescript libraries so I write library types all the time. In fact, I'm writing them right now! TypeScript is what makes them really fun to use. They infer everything they can and have very high levels of safety and passthrough while still allowing for composition and extension at the framework-adapter and library level. I will never consider writing another OSS tool in the JS ecosystem without ensuring the typescript experience is the best I can offer.<p>That said...<p>I've learned that "library" types might not be the best way to talk about these concepts. What we're really talking about here are types that are complex/advanced enough to force you to venture beyond the primitive building blocs in the TS docs and into existing open source solutions that have trail-blazed more advanced use-cases. It took me only a few weeks to get comfortable with common TS, but at least a year to feel dangerous enough to write more advanced TS. I'm on year 3 now and I am still learning/forgetting so much about it.<p>I agree that:
- Advanced types and their concepts are difficult to learn.
- There is limited documentation on how to create/use them.
- They can sometimes be difficult to reason about, mainly due to the limited syntax TS offers around advanced concepts.<p>On the the positive:
- They can be learned with practice.
- There is plenty of OSS out there to learn from
- Once you learn them, you start to think differently about TS as a language instead of annotations<p>I wish there were better features/syntax support for:
- Optional generics
- Higher-order generics / Polymorphic generics (basically higher-order functions, but for types)
- More built-ins (like ts-toolbelt, type-fest, etc)<p>I think this ramp of difficulty with advanced TS types is fine for the most part. Library authors have always carried way more of a burden than devs at the edge, even during runtime to ensure things like size, performance, flexibility, etc. TS is just another facet that is becoming more an expectation every day.<p>At the end of the day, a library dev gets to choose what level of investment they'll put into great types for their library. If they can pull it off, their tool will likely provide a measurably better developer experience.<p>That's my goal for my libraries, so choosing to go all-in on advanced TS is now a no-brainer.<p>Anywho, good luck!</p>
]]></description><pubDate>Tue, 23 Aug 2022 20:45:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=32571231</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=32571231</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32571231</guid></item><item><title><![CDATA[TanStack – High-quality open-source software for web developers]]></title><description><![CDATA[
<p>Article URL: <a href="https://tanstack.com">https://tanstack.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31603157">https://news.ycombinator.com/item?id=31603157</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 03 Jun 2022 01:34:45 +0000</pubDate><link>https://tanstack.com</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=31603157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31603157</guid></item><item><title><![CDATA[TanStack Virtual – Headless UI for Virtualizing Large Element Lists]]></title><description><![CDATA[
<p>Article URL: <a href="https://tanstack.com/virtual/v3">https://tanstack.com/virtual/v3</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31603151">https://news.ycombinator.com/item?id=31603151</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 03 Jun 2022 01:34:10 +0000</pubDate><link>https://tanstack.com/virtual/v3</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=31603151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31603151</guid></item><item><title><![CDATA[New comment by tannerlinsley in "React Location – Enterprise Routing for React"]]></title><description><![CDATA[
<p>Thanks!</p>
]]></description><pubDate>Mon, 15 Nov 2021 20:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=29232225</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=29232225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29232225</guid></item><item><title><![CDATA[New comment by tannerlinsley in "React Location – Enterprise Routing for React"]]></title><description><![CDATA[
<p>MIT - <a href="https://github.com/tannerlinsley/react-location/blob/main/LICENSE" rel="nofollow">https://github.com/tannerlinsley/react-location/blob/main/LI...</a></p>
]]></description><pubDate>Mon, 15 Nov 2021 17:33:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=29229984</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=29229984</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29229984</guid></item><item><title><![CDATA[React Location – Enterprise Routing for React]]></title><description><![CDATA[
<p>Article URL: <a href="https://react-location.tanstack.com/">https://react-location.tanstack.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=29227982">https://news.ycombinator.com/item?id=29227982</a></p>
<p>Points: 7</p>
<p># Comments: 4</p>
]]></description><pubDate>Mon, 15 Nov 2021 14:46:25 +0000</pubDate><link>https://react-location.tanstack.com/</link><dc:creator>tannerlinsley</dc:creator><comments>https://news.ycombinator.com/item?id=29227982</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29227982</guid></item></channel></rss>