Top all-time · #9559
Charles Chen
Personal blog · chrlschn.dev/blog · on HN as CharlieDigitalprogrammingaistartups
Charles Chen's personal blog at chrlschn.dev covers programming, ai and startups. Since 2023, 8 different Hacker News readers have linked it 77 times, most often “Beware the Complexity Merchants”. It is still writing: the last post was on 2026-10-27, and you can follow it by feed.
Too few sampled comments (2) to say how often HN recommends it.?
Why HN links it
Charles Chen's dev blog on HTMX URL-driven state, software complexity and GenAI. Commenters link the HTMX post, and one criticises the complexity post as likely AI-written and a waste of time.
Summarised by Claude from a sample of 2 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Personal blog of Charles Chen (CharlieDigital, @chrslchn)
Most-linked posts?
- Beware the Complexity Merchants3 people · 3 mentions · first linked 2025-05-16
- The Inverted Reactivity Model of React2 people · 8 mentions · first linked 2025-02-14
- React Is the New IBM (2023)2 people · 4 mentions · first linked 2024-02-27
- /blog/2024/10/im-a-gen-ai-maximalist-and-why-you-should-be-too/2 people · 3 mentions · first linked 2024-10-24
- Interviews in the Age of AI: Ditch Leetcode – Try Code Reviews Instead2 people · 3 mentions · first linked 2023-09-07
What Hacker News says?
My $0.02 here: GraphQL makes sense only at a certain scale when you have multiple APIs built by multiple teams that need to be exposed as a single endpoint. GraphQL as an API or APIs is the perfect use case and the one that it was designed for. In every other case, REST is harder to do wrong and easier to do right. The tooling for it is widely supported and well known. Every aspect of building an easy to use, easy t…
Comment linking /blog/2023/10/end-to-end-type-safety-with-dotnet7-webapis-typescript-openapi/
on “After 6 years, I'm over GraphQL”Submitted React Is the New IBM (2023) as a story · 73 points
HN discussionI was at a startup that started using OpenAI APIs pretty early (almost 2 years ago now?). "Back in the day", we had to be very sparing with context to get great results so we really focused on how to build great context. Indexing and retrieval were pretty much our core focus. Now, even with the larger windows, I find this still to be true. The moat for most companies is actually their data, data indexing, and data r…
Comment linking /blog/2024/11/on-bakers-ovens-and-ai-startup-moats/
on “The new skill in AI is not prompting, it's context engineering”Submitted Beware the Complexity Merchants as a story · 42 points
HN discussionActually, React's problem is that it's the inverse of how HTML and JavaScript works in terms of how to handle callbacks. Of the major UI frameworks, it is the only one with this quality (Vue, Svelte, Angular, Solid, etc. use signals). This inverted behavior is the cause of most of the pain and footguns in React and React Hooks because the way state behaves in a React component is not the way state behaves in any oth…
Comment linking /blog/2025/01/the-inverted-reactivity-model-of-react/
on “React is winning by default and slowing innovation”Submitted Interviews in the Age of AI: Ditch Leetcode – Try Code Reviews Instead as a story · 10 points
HN discussionOver the last 4 years, I've gone through a similar "speed run" of startups after quitting my job of 10 years during COVID. First startup went nowhere and took on a contract role after 9 months. Then tried another startup with a co-founder I met at one of the startups where I worked in the interim. About 6 months building something awesome, but no commercial path. Spent 1 month with him and another co-founder on a fi…
Comment linking /blog/2024/12/lessons-learned-from-working-at-startups/
on “My second year without a job”Submitted Lessons Learned from Working at Startups as a story · 4 points
HN discussionThis was the easiest call and many like me made it in March[0] among all of the anti-MCP wave of influencers claiming it dead (many, many prominent folks in tech including Garry Tan). Literally every tech influencer in every social feed in March was calling MCP dead and crowning CLI the winner (completely ignoring every reasonable argument around security, observability/telemetry, ease of deployment and operations,…
Comment linking /blog/2026/03/mcp-is-dead-long-live-mcp/
on “You said no MCP”Submitted LARPing with Agents (and Why It Works) as a story · 3 points
HN discussionThe auto-memoization is: 1) Trading memory pressure for performance 2) An admission of a broken model because it's taken them 2+ (almost 3?) years to build as a recognition that developers can't get it right The reason other frameworks don't need this is because they use signals connected to callbacks instead of the reactive callback pointing to the component (as React does). Thus Preact, Solid, Svelte, Vue, etc. do…
Comment linking /blog/2025/01/the-inverted-reactivity-model-of-react/
on “AI is stifling new tech adoption?”Submitted Beware the Complexity Merchants as a story · 3 points
HN discussionIt's not the same model. Many, many (if not most) devs probably do not realize that React has an "inverted" model of reactivity and is in fact the root cause of it's performance woes. To the extent that the React team spent 2+ (almost 3?) years working on a compiler to address the issue by adding in the correct memoization primitives in a compile phase (trading increased memory consumption for more runtime performan…
Comment linking /blog/2025/01/the-inverted-reactivity-model-of-react/
on “AI is stifling new tech adoption?”Submitted The Unexpected AI Stack: C# + .NET (Part 1) as a story · 2 points
HN discussion> I just wish Web wasn't such a frustrating development experience It's got to be better than building to target two totally different platforms (and even more once you factor in tablets, Windows desktop/Linux/macOS) and then jumping through hoops to get your app packaged, reviewed, and updated consistently onto the target devices. > Most of that frustration comes down to tooling and more specifically TypeScript I t…
Comment linking /blog/2023/09/typescript-is-not-a-programming-language/
on “Write code for the web”Submitted MCP Is Dead; Long Live MCP as a story · 2 points
HN discussion> Five small models solve a programming problem together: a planner, two ideators, a solver and a manager, plus a repair worker. Each starts from a fresh context and talks only through files on disk. This seems to tie back to the paper Adaptive Auto-Harness: Sustained Self-Improvement for Agentic System Deployment on Open-Ended Task Streams [0]. In the Emory paper: > We reduce this loss by expanding Φ with a statefu…
Comment linking /blog/2026/10/larping-with-agents-and-why-it-works/
on “Memdoor: A team of 5 Qwen3.8-27B models beats Fable 5 on LiveCodeBench Hard”Submitted Bakers, Ovens, and AI Startup Moats as a story · 2 points
HN discussion> Just be careful making the leap from "they prefer niche X" to "therefore they are talented". Not my approach, to be sure :) I think I have a pretty good heuristic for finding curious and inquisitive people that doesn't rely on esoteric tech stacks. My sense is that a lot of engineering teams have lost their way so the only mechanism they can use now are convoluted leetcode style interviews instead to filter out Se…
Comment linking /blog/2023/10/your-interview-process-is-too-damn-long/
on “Takeaways from the Jane Street bond prospectus”Submitted C# Discriminated Unions and .NET Channels as a story · 2 points
HN discussionI think many devs misunderstand MCP because they work in solo mode . In solo mode, you just have your secrets local. You don't care about auditing access. There's no IT managing the infra and third party secrets. You don't have to account for different harnesses and tooling; you just use your own harness and adapt your tooling to it. You're not thinking about revoking/rotating secrets when someone leaves your team.…
Comment linking /blog/2026/03/mcp-is-dead-long-live-mcp/
on “MCP was always a bad idea?”Submitted Need for Speed: LLMs with C#, .NET 8 SSE and Channels, Llama3, and Fireworks.ai as a story · 2 points
HN discussionThere's also OneOf ( https://github.com/mcintyre321/OneOf ) as well which feels more ergonomic to me (having used both). Practical example in a short write up here: https://chrlschn.dev/blog/2024/07/csharp-discriminated-union...
Comment linking /blog/2024/07/csharp-discriminated-unions-and-dotnet-channels/
on “A comparison of Rust’s borrow checker to the one in C#”Submitted A Practical Guide to Modular Monoliths with .NET as a story · 2 points
HN discussionGoogle had a really great paper on this about 2 years back titled Towards Modern Development of Cloud Applications [0] that talks about how teams often: > ... conflate logical boundaries (how code is written) with physical boundaries (how code is deployed) It's very easy to read and digest and I think it's a great paper that makes the case for building "modular monoliths". I think many teams do not have a practical…
Comment linking /blog/2024/01/a-practical-guide-to-modular-monoliths/
on “Microservices are a tax your startup probably can't afford”Submitted Engineering Lessons from Early Stage Startups as a story · 2 points
HN discussionIt's possible to add DUs in C# today with some third party packages. - https://github.com/domn1995/dunet - https://github.com/mcintyre321/OneOf Quite good and ergonomic with the source generators removing a lot of the boilerplate. I have a practical example here using OneOf with .NET Channels: https://chrlschn.dev/blog/2024/07/csharp-discriminated-union...
Comment linking /blog/2024/07/csharp-discriminated-unions-and-dotnet-channels/
on “Official proposal for Type Unions in C#”Submitted Foundations of Agent Friendly Codebases as a story · 1 points
HN discussionhttps://chrlschn.dev/blog/2025/05/beware-the-complexity-merc...
Comment linking /blog/2025/05/beware-the-complexity-merchants/
on “URL-Driven State in HTMX”Submitted MCP Is Dead; Long Live MCP – Revisited as a story · 1 points
HN discussion