<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: acemarke</title><link>https://news.ycombinator.com/user?id=acemarke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 07:24:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=acemarke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by acemarke in "Vite 8.0 Is Out"]]></title><description><![CDATA[
<p>Hi! I played a major part in getting that "installation" page rewritten to actually mention other tools like Vite :)<p>The general TLDR is:<p>- CRA was listed in the _old_ docs site<p>- The new docs site coincided with the React team emphasizing "frameworks" to provide an all-in-one build experience and hopefully lead to better apps.<p>- That also meant no ala-carte build tools were listed. This made many people (including me) unhappy.<p>- CRA broke when React 19 came out in Dec 2024. This caused problems for beginners.<p>- I pushed the React team to both deprecate CRA and finally rewrite the setup pages to list other build tools as valid options.<p>I wrote up a much longer background of what happened around the "frameworks" push and this docs page here:<p>- <a href="https://blog.isquaredsoftware.com/2025/06/react-community-2025/" rel="nofollow">https://blog.isquaredsoftware.com/2025/06/react-community-20...</a><p>And here's the issue I filed pushing the React team to deprecate CRA (after some online discussion):<p>- <a href="https://github.com/facebook/create-react-app/issues/17004" rel="nofollow">https://github.com/facebook/create-react-app/issues/17004</a><p>and a follow-up PR where I tried to rewrite the initial rather confusing post-CRA-deprecation "Creating Your Own Framework" page with a more relevant "Creating a React App" page:<p>- <a href="https://github.com/reactjs/react.dev/pull/7618" rel="nofollow">https://github.com/reactjs/react.dev/pull/7618</a><p>but the overall point of _all_ of this is that CRA was unmaintained as of 2023, the community had _already_ moved on to Vite, and all this was an attempt to get the React docs to reflect that reality.</p>
]]></description><pubDate>Sat, 14 Mar 2026 01:27:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47372343</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=47372343</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47372343</guid></item><item><title><![CDATA[New comment by acemarke in "What Claude Code chooses"]]></title><description><![CDATA[
<p>Yup. I'm the primary Redux maintainer and creator of Redux Toolkit.<p>If you look at a typical Zustand store vs an RTK slice, the lines of code _ought_ to be pretty similar.  And I've talked to plenty of folks who said "we essentially rebuilt RTK because Zustand didn't have enough built in, we probably should have just chosen RTK in the first place".<p>But yeah, the very justified reputation for "boilerplate" early on stuck around.  And even though RTK has been the default approach we teach for more than half of Redux's life (Redux released 2015, RTK fall 2019, taught as default since early 2020), that's the way a lot of people still assume it is.<p>It's definitely kinda frustrating, but at the same time: we were never in this for "market share", and there's _many_ other excellent tools out there that overlap in use cases.  Our goal is just to make a solid and polished toolset for building apps and document it thoroughly, so that if people _do_ choose to use Redux it works well for them.</p>
]]></description><pubDate>Fri, 27 Feb 2026 05:02:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47176749</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=47176749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47176749</guid></item><item><title><![CDATA[New comment by acemarke in "Code is cheap. Show me the talk"]]></title><description><![CDATA[
<p>Hi, I'm the primary Redux maintainer. I'd love to see some examples of what got generated!  (Doubt there's anything we could do to _influence_ this, but curious what happened here.)<p>FWIW we do have our docs on testing approaches here, and have recommended a more integrated-style approach to testing for a while:<p>- <a href="https://redux.js.org/usage/writing-tests" rel="nofollow">https://redux.js.org/usage/writing-tests</a></p>
]]></description><pubDate>Sat, 31 Jan 2026 05:22:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46833756</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46833756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46833756</guid></item><item><title><![CDATA[New comment by acemarke in "It's 2026 now. Is Webpack 6.x going to happen?"]]></title><description><![CDATA[
<p>I haven't looked specifically at Webpack's development lately, but having seen the overall activity and competition in the bundling ecosystem:  no, a 6.x release seems unlikely, and also pretty irrelevant at this point.  And no, I don't see Webpack becoming a default choice again.<p>- Vite has become the default for most SPAs<p>- Vite is now backed by the VoidZero company, which is moving full speed ahead on a suite of Rust-based build tooling: Rolldown for bundling, Oxc for parsing, etc<p>- Meanwhile, you've got Bytedance cranking out RSPack and RSBuild<p>and at least another half-dozen alternatives.</p>
]]></description><pubDate>Sun, 04 Jan 2026 14:29:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46488268</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46488268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46488268</guid></item><item><title><![CDATA[New comment by acemarke in "WinDirStat: Disk usage statistics viewer for Microsoft Windows clients, servers"]]></title><description><![CDATA[
<p>I used WinDirStat for years, but WizTree is _much_ better.  It reads directly from the file system metadata tables instead of having to scan the whole filesystem, so the file tree loads much faster.  No need to wait for all those pacmen munching their way through the whole disk :)</p>
]]></description><pubDate>Sat, 03 Jan 2026 16:49:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46478754</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46478754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46478754</guid></item><item><title><![CDATA[New comment by acemarke in "Immer – A library of persistent and immutable data structures written in C++"]]></title><description><![CDATA[
<p>Completely unrelated.<p>- Immer (C++) appears to be roughly equivalent to Immutable.js ( <a href="https://immutable-js.com/" rel="nofollow">https://immutable-js.com/</a> ): a set of specialized data structures<p>- Immer (JS), on the other hand, uses JS Proxies to wrap plain values, traps attempted mutations, and then replays them to return a safely immutable updated final result<p>As far as I know, Michel Weststrate came up with the name independently (although I can't 100% confirm that).<p>(source: I didn't create Immer (JS), but I started using it in Redux Toolkit in 2018, am quoted in the docs about how much I love it, spent the last couple months doing performance optimization work that got shipped in Immer 11.x, and just put up some more bugfix PRs today.  I'm a secondary maintainer at this point.)</p>
]]></description><pubDate>Sun, 28 Dec 2025 02:04:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46407712</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46407712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46407712</guid></item><item><title><![CDATA[New comment by acemarke in "Python 3.15’s interpreter for Windows x86-64 should hopefully be 15% faster"]]></title><description><![CDATA[
<p>I've never seen this kind of benchmark graph before, and it looks really neat!  How was this generated?  What tool was used for the benchmarks?<p>(I actually spent most of Sep/Oct working on optimizing the Immer JS immutable update library, and used a benchmarking tool called `mitata`, so I was doing a lot of this same kind of work: <a href="https://github.com/immerjs/immer/pull/1183" rel="nofollow">https://github.com/immerjs/immer/pull/1183</a> .  Would love to add some new tools to my repertoire here!)</p>
]]></description><pubDate>Thu, 25 Dec 2025 16:13:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46385222</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46385222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385222</guid></item><item><title><![CDATA[New comment by acemarke in "Denial of service and source code exposure in React Server Components"]]></title><description><![CDATA[
<p>Like I said above and in the post: it was an attempt to generalize the data fetching patterns developed inside of Meta and make them available to all React devs.<p>If you watch the various talks and articles done by the React team for the last 8 years, the general themes are around trying to improve page loading and data fetching experience.<p>Former React team member Dan Abramov did a whole series of posts earlier this year with differently-focused explanations of how to grok RSCs: "customizable Backend for Frontend", "avoiding unnecessary roundtrips", etc:<p>- <a href="https://overreacted.io" rel="nofollow">https://overreacted.io</a><p>Conceptually, the one-liner Dan came up with that I liked is "extending React's component model to the server".  It's still parent components passing props to child components, "just" spread across multiple computers.</p>
]]></description><pubDate>Fri, 12 Dec 2025 01:19:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46239743</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46239743</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46239743</guid></item><item><title><![CDATA[New comment by acemarke in "Denial of service and source code exposure in React Server Components"]]></title><description><![CDATA[
<p>No, but it's primarily because Meta has their own server infrastructure already.  RSCs are essentially the React team trying to generalize the data fetching patterns from Meta's infrastructure into React itself so they can be used more broadly.<p>I wrote an extensive post and did a conference talk earlier this year recapping the overall development history and intent of RSCs, as best as I understand it from a mostly-external perspective:<p>- <a href="https://blog.isquaredsoftware.com/2025/06/react-community-2025/" rel="nofollow">https://blog.isquaredsoftware.com/2025/06/react-community-20...</a><p>- <a href="https://blog.isquaredsoftware.com/2025/06/presentations-react-community-2025/" rel="nofollow">https://blog.isquaredsoftware.com/2025/06/presentations-reac...</a></p>
]]></description><pubDate>Thu, 11 Dec 2025 22:28:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46238171</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46238171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46238171</guid></item><item><title><![CDATA[New comment by acemarke in "Show HN: Wirebrowser – A JavaScript debugger with breakpoint-driven heap search"]]></title><description><![CDATA[
<p>We actually built a full-blown time travel debugger for Javascript at Replay.io:<p>- <a href="https://www.replay.io/devtools" rel="nofollow">https://www.replay.io/devtools</a></p>
]]></description><pubDate>Thu, 11 Dec 2025 16:33:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46233535</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46233535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46233535</guid></item><item><title><![CDATA[New comment by acemarke in "[dead]"]]></title><description><![CDATA[
<p>Don't think Archive links work on Substack or other similar sites like Ed's, and this link stops at the paywall cutoff (ie just the free content portion).</p>
]]></description><pubDate>Sun, 07 Dec 2025 21:37:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46185407</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46185407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46185407</guid></item><item><title><![CDATA[New comment by acemarke in "RCE Vulnerability in React and Next.js"]]></title><description><![CDATA[
<p>Hi. I'm the current Redux maintainer, and have been since Dan handed it over to me in mid-2016, one year after he created Redux.  It's also worth noting that Dan never used Redux on a real app (that I know of), whereas I've spent years maintaining Redux and Redux Toolkit and designing APIs based on the needs of our users.<p>Redux is still by far the most widely-used state management library in React apps.  Some of that _is_ legacy usage, sure.  But, our modern Redux Toolkit package has ~30M downloads a month.  Zustand has become very popular as a client-side state option, and React Query is now the default standard data fetching tool, but you can see that even just RTK is still right up there in monthly NPM downloads:<p>- <a href="https://npm-stat.com/charts.html?package=redux&package=%40reduxjs%2Ftoolkit&package=zustand&package=%40tanstack%2Freact-query&package=mobx&from=2020-01-01&to=2025-12-04" rel="nofollow">https://npm-stat.com/charts.html?package=redux&package=%40re...</a><p>I've frequently talked about the original reasons for Redux's creation, which of those are still relevant, and why Redux is still a very valid option to choose even for greenfield projects today:<p>- <a href="https://blog.isquaredsoftware.com/2024/07/presentations-why-use-redux/" rel="nofollow">https://blog.isquaredsoftware.com/2024/07/presentations-why-...</a></p>
]]></description><pubDate>Thu, 04 Dec 2025 21:35:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46153414</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46153414</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46153414</guid></item><item><title><![CDATA[New comment by acemarke in "Ask HN: Why do maintainers spend time reviewing my code?"]]></title><description><![CDATA[
<p>Because that's the responsibility we've placed on ourselves :)<p>I actually did a recent conference talk called "Maintaining a Library and a Community" where I discussed how being an OSS maintainer is really about communicating with your users and contributors, more than it is about writing code yourself.  And yes, a big part of that is responding to issues _and_ reviewing externally-contributed PRs:<p>- <a href="https://blog.isquaredsoftware.com/2024/11/presentations-maintaining-community/" rel="nofollow">https://blog.isquaredsoftware.com/2024/11/presentations-main...</a><p>I also even just tweeted over the weekend about how a user filed a PR to add a good new option to one of my libraries, but I still had to take time to review it, figure out what additional functionality should be added, then add tests and docs:<p>- <a href="https://bsky.app/profile/acemarke.dev/post/3m6defzgvcl2n" rel="nofollow">https://bsky.app/profile/acemarke.dev/post/3m6defzgvcl2n</a></p>
]]></description><pubDate>Tue, 25 Nov 2025 03:52:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46042191</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=46042191</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46042191</guid></item><item><title><![CDATA[New comment by acemarke in "Dead Framework Theory"]]></title><description><![CDATA[
<p>What "naming conventions and file structures" are you referring to?  I don't think Dan ever really popularized anything like that for _React_.<p>If you're thinking of _Redux_, are you referring to the early conventions of "folder-by-type" file structures?  ie `actions/todos.js`, `reducers/todos.js`, `constants/todos.js`?  If so, there's perfectly understandable reasons why we ended up there:<p>- as programmers we try to "keep code of different kinds in different files", so you'd separate action creator definitions from reducer logic<p>- but we want to have consistency and avoid accidental typos, especially in untyped plain JS, so you'd extract the string constants like `const ADD_TODO = "ADD_TODO"` into their own file for reuse in both places<p>To be clear that was never a requirement for using Redux, although the docs did show that pattern.  We eventually concluded that the "folder-by-feature" approach was better:<p>- <a href="https://redux.js.org/style-guide/#structure-files-as-feature-folders-with-single-file-logic" rel="nofollow">https://redux.js.org/style-guide/#structure-files-as-feature...</a><p>and in fact the original "Redux Ducks" approach for single-file logic was created by the community just a couple months after Redux was created:<p>- <a href="https://github.com/erikras/ducks-modular-redux" rel="nofollow">https://github.com/erikras/ducks-modular-redux</a><p>which is what we later turned into "Redux slices", a single file with a `createSlice` call that has your reducer logic and generates the action creators for you:<p>- <a href="https://redux.js.org/tutorials/essentials/part-2-app-structure#redux-slices" rel="nofollow">https://redux.js.org/tutorials/essentials/part-2-app-structu...</a></p>
]]></description><pubDate>Fri, 07 Nov 2025 21:50:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45851551</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=45851551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45851551</guid></item><item><title><![CDATA[New comment by acemarke in "Taking money off the table"]]></title><description><![CDATA[
<p>That's one of the main theses of the book "Die with Zero":<p>- <a href="https://www.diewithzerobook.com/welcome" rel="nofollow">https://www.diewithzerobook.com/welcome</a><p>Read it earlier this year and it definitely changed some of my thinking along those same lines.<p>My loose summary of the book:<p>"Any money left in the bank when you die is essentially wasted - you could have used it to have experiences when you were alive, or given it to family / charity earlier when it would have had more benefit.  Figure out what major experiences and memories you want to have in life, plan to do them earlier when you have health and time, and build up memories for later in life."<p>I didn't find the discussions of how to plan out retirement savings very useful - there's a lot better info on withdrawal approaches in various FIRE-related groups.<p>But the "be willing to spend now on activities you might not be able to do later / don't hold off on 'living' until you're retired" argument made a _lot_ of sense to me for a variety of reasons, and it was a major factor in researching early retirement a few months later (and deciding to make that a new goal. along with taking more vacations before then).</p>
]]></description><pubDate>Thu, 30 Oct 2025 20:28:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45764934</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=45764934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45764934</guid></item><item><title><![CDATA[New comment by acemarke in "I built the same app 10 times: Evaluating frameworks for mobile performance"]]></title><description><![CDATA[
<p>React's bundling system and published packages has gotten noticeably more complicated over time.<p>First, there's the separation between the generic cross-platform `react` package, and the platform-specific reconcilers like `react-dom` and `react-native.  All the actual "React" logic is built into the reconciler packages (ie, each contains a complete copy of the actual `react-reconciler` package + all the platform-specific handling).  So, bundle size has to measure both `react` and `react-dom` together.<p>Then, the contents of `react-dom` have changed over time.  In React 18 they shifted the main entry point to be `react-dom/client`, which then ends up importing the right dev/prod artifacts (with `react-dom` still supported but deprecated):<p>- <a href="https://app.unpkg.com/react-dom@18.3.1/files/cjs" rel="nofollow">https://app.unpkg.com/react-dom@18.3.1/files/cjs</a><p>Then, in React 19, they restructured it further so that `react-dom` really only has a few utils, and all the logic is truly in the `react-dom/client` entry point:<p>- <a href="https://app.unpkg.com/react-dom@19.2.0/files/cjs/react-dom.development.js" rel="nofollow">https://app.unpkg.com/react-dom@19.2.0/files/cjs/react-dom.d...</a><p>- <a href="https://app.unpkg.com/react-dom@19.2.0/files/cjs/react-dom-client.development.js" rel="nofollow">https://app.unpkg.com/react-dom@19.2.0/files/cjs/react-dom-c...</a><p>So yes, the full prod bundle size is something like 60K min+gz, but it takes some work to see that.  I don't think Bundlephobia handles it right at all - it's just automatically reading the main entry points for each package (and thus doesn't import `react-dom/client`.  You can specify that with BundleJS though:<p>- <a href="https://bundlejs.com/?q=react%2Creact-dom%2Fclient&treeshake=%5B%7B%20default%20as%20React%20%7D%5D%2C%5B%7B%20default%20as%20ReactDOM%20%7D%5D" rel="nofollow">https://bundlejs.com/?q=react%2Creact-dom%2Fclient&treeshake...</a><p>> Bundle size is 193 kB -> 60.2 kB (gzip)</p>
]]></description><pubDate>Tue, 28 Oct 2025 19:51:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45738156</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=45738156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45738156</guid></item><item><title><![CDATA[New comment by acemarke in "Ask HN: Abandoned/dead projects you think died before their time and why?"]]></title><description><![CDATA[
<p>Correct - Elm was one of several inspirations for Redux:<p>- <a href="https://redux.js.org/understanding/history-and-design/prior-art" rel="nofollow">https://redux.js.org/understanding/history-and-design/prior-...</a></p>
]]></description><pubDate>Sun, 12 Oct 2025 15:06:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45558718</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=45558718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45558718</guid></item><item><title><![CDATA[New comment by acemarke in "Next.js is infuriating"]]></title><description><![CDATA[
<p>Hi! I maintain Redux and am deeply involved in the React community, and have spent a lot of time both critiquing the React team's decisions and explaining their decisions to the community.<p>I actually wrote exactly that blog post and did a conf talk on it earlier this year.  I covered why the React team switched to directing users to use "frameworks" to build React apps, the development influences behind React Server Components, why the React docs didn't list tools like Vite as viable options until just a couple months ago, and various other related topics:<p>- <a href="https://blog.isquaredsoftware.com/2025/06/react-community-2025/" rel="nofollow">https://blog.isquaredsoftware.com/2025/06/react-community-20...</a><p>- <a href="https://blog.isquaredsoftware.com/2025/06/presentations-react-community-2025/" rel="nofollow">https://blog.isquaredsoftware.com/2025/06/presentations-reac...</a></p>
]]></description><pubDate>Tue, 02 Sep 2025 20:31:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45108611</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=45108611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45108611</guid></item><item><title><![CDATA[New comment by acemarke in "How to free up and automatically manage disk space for WSL"]]></title><description><![CDATA[
<p>I recently used <a href="https://github.com/okibcn/wslcompact" rel="nofollow">https://github.com/okibcn/wslcompact</a> to shrink a couple of WSL VHDX files, and it worked great.<p>Looking at the source, it seems to use a `wsl --export` option rather than `diskpart`.</p>
]]></description><pubDate>Tue, 19 Aug 2025 14:46:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=44952152</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=44952152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44952152</guid></item><item><title><![CDATA[New comment by acemarke in "The Useless UseCallback"]]></title><description><![CDATA[
<p>I'm the primary Redux maintainer. FWIW, `connect` still exists and we have no plans to remove it, but it's also _very_ complicated internally and we honestly don't want people using it today.  If I _could_ remove it without breaking user apps I would.  `useSelector` is a drastically simpler implementation, better app performance, and smaller bundle size.<p>I do get what you mean about the conceptual separation, although something about the HOC approach also led to a lot of historical user confusion about "where _are_ my props coming from?".<p>As for writing the rest of your Redux logic, our modern Redux Toolkit package has addressed the historical concerns about boilerplate and other pain points:<p>- <a href="https://redux.js.org/introduction/why-rtk-is-redux-today" rel="nofollow">https://redux.js.org/introduction/why-rtk-is-redux-today</a><p>- <a href="https://redux.js.org/tutorials/essentials/part-2-app-structure" rel="nofollow">https://redux.js.org/tutorials/essentials/part-2-app-structu...</a></p>
]]></description><pubDate>Tue, 29 Jul 2025 16:09:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44725111</link><dc:creator>acemarke</dc:creator><comments>https://news.ycombinator.com/item?id=44725111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44725111</guid></item></channel></rss>