<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: CharlieDigital</title><link>https://news.ycombinator.com/user?id=CharlieDigital</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 14:37:32 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=CharlieDigital" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by CharlieDigital in "Why I'm Building a Database Engine in C#"]]></title><description><![CDATA[
<p><p><pre><code>    > ...but it may make your code much uglier
</code></pre>
Flip side is that if you use more source generation, it may end up making the code more terse/"prettier" where it matters and avoid the reflection hit.<p>AI agents seem fairly good at generating source generators so there doesn't seem to be a reason to not use them.</p>
]]></description><pubDate>Fri, 10 Apr 2026 18:44:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722045</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47722045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722045</guid></item><item><title><![CDATA[New comment by CharlieDigital in "I still prefer MCP over skills"]]></title><description><![CDATA[
<p>One thing that I have found is that the platforms are surprisingly poor at consistently implementing MCP, which is actually a pretty simple protocol.<p>Take Codex, for example, it does not support the MCP prompts spec[0][1] which is quite powerful because it solves a lot of friction with deploying and synchronizing SKILL.md files.  It also allows customization of virtual SKILL.md files since it allows compositing the markdown on the server.<p>It baffles me why such a simple protocol and powerful capability is not supported by Codex.  If anyone from OpenAI is reading this, would love to understand the reasoning for the poor support for this relatively simple protocol.<p>[0] <a href="https://github.com/openai/codex/issues/5059" rel="nofollow">https://github.com/openai/codex/issues/5059</a><p>[1] <a href="https://modelcontextprotocol.io/specification/2025-06-18/server/prompts" rel="nofollow">https://modelcontextprotocol.io/specification/2025-06-18/ser...</a></p>
]]></description><pubDate>Fri, 10 Apr 2026 12:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47717220</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47717220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47717220</guid></item><item><title><![CDATA[New comment by CharlieDigital in "EFF is leaving X"]]></title><description><![CDATA[
<p>You can be racist and still hate fascism and Nazis.<p>Everyone should hate fascism and Nazis.</p>
]]></description><pubDate>Thu, 09 Apr 2026 18:38:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47707770</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47707770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47707770</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Clean code in the age of coding agents"]]></title><description><![CDATA[
<p>I have a bit more practical approach here (write up at some point): the most important thing is to rethink how you are instructing the agents and do not only rely on your existing codebase because: 1) you may have some legacy practices, 2) it is a reflection of many hands, 3) it becomes very random based on what files the agent picks up.<p>Instead, you should approach it as if instructing the agent to write "perfect" code (whatever that means in the context of your patterns and practices, language, etc.).<p>How should exceptions be handled?  How should parameters be named?  How should telemetry and logging be added?  How should new modules to be added?  What are the exact steps?<p>Do not let the agent randomly pick from your existing codebase unless it is already highly consistent; tell it exactly what "perfect" looks like.</p>
]]></description><pubDate>Thu, 09 Apr 2026 15:18:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47704893</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47704893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47704893</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Clean code in the age of coding agents"]]></title><description><![CDATA[
<p>Clean code still matters.<p>If it's easier for a human to read and grasp, it will end up using less context and be less error prone for the LLM.  If the entities are better isolated, then you also save context and time when making changes since the AoE is isolated.<p>Clean code matters because it saves cycles and tokens.<p><i>If you're going to generate the code anyways, why not generate "pristine" code?</i>. Why would you want the agent to generate shitty code?</p>
]]></description><pubDate>Thu, 09 Apr 2026 15:15:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47704853</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47704853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47704853</guid></item><item><title><![CDATA[New comment by CharlieDigital in "I've been waiting over a month for Anthropic to respond to my billing issue"]]></title><description><![CDATA[
<p><p><pre><code>    > I doubt many support agents have access to editing user records
</code></pre>
Why do you think that's the case?</p>
]]></description><pubDate>Wed, 08 Apr 2026 21:41:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47696646</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47696646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47696646</guid></item><item><title><![CDATA[New comment by CharlieDigital in "I've been waiting over a month for Anthropic to respond to my billing issue"]]></title><description><![CDATA[
<p>Hear me out: what if a lot of the hype they are selling you is performative marketing that they absolutely need your C-suite to believe so they can cut more headcount?  Then spend a bunch of time generating piles of code that is human unmaintainable because now you're using AI code reviewers, AI testers, AI QA.  Then thrash around using more tokens when it invariably causes production issues and no one can read the code anymore except for their latest and greatest models with 1m context window.</p>
]]></description><pubDate>Wed, 08 Apr 2026 20:58:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47696170</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47696170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47696170</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p>We're not in a military war with them...yet (and maybe Trump <i>would</i> just let them take Taiwan; who knows).<p>We are definitely in an economic "war" with them, basically outright banning their automotive industry from gaining a foothold in the US and doing things like pressuring Nvidia to limit exports to them.</p>
]]></description><pubDate>Wed, 08 Apr 2026 20:24:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47695804</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47695804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47695804</guid></item><item><title><![CDATA[New comment by CharlieDigital in "I've been waiting over a month for Anthropic to respond to my billing issue"]]></title><description><![CDATA[
<p><p><pre><code>    > Anthropic is an AI company that builds one of the most capable AI assistants in the world. Their support system is a Fin AI chatbot that can’t actually help you.
</code></pre>
This really cuts to the reality of AI hype: no, agents are not nearly as capable as OpenAI, Anthropic, etc. <i>need</i> you (or rather your C-suite, itching to fire you) to believe.  They really, <i>really</i> need you to believe the hype.  How can you tell?  Cases like this and the fact that there are 5000 open bugs, constant regressions, ignored feature requests in the CC repo.  The fact that Codex doesn't fully implement the simple and well-defined MCP spec for prompts.  The fact that even CC has gaps with the MCP implementation...a spec that they created!<p>If the progenitors with functionally infinite tokens can't get this basic stuff right, everything else they are doing is just blowing smoke.  I don't care if you can ship a kernel compiler or a janky "browser"; how about just make your software work?  The smartest guys in this space, engineers making 7 figures in TC, with billions in capital, unlimited tokens, and access to the best models cannot make a simple customer support chatbot work.<p>But you!  You're expected to deliver that customer support agent that's going to allow them to cut 500 people from payroll.  You'll have it by Monday, right?<p>It's some Tai Lopez "Here in my garage" energy.<p>Let that sink in.</p>
]]></description><pubDate>Wed, 08 Apr 2026 20:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=47695730</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47695730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47695730</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Union types in C# 15"]]></title><description><![CDATA[
<p>It is a library call, but one that is tied to the behavior of a language feature (async/await).<p>The reason I bring it up is that it is another one of those things where it matters in some cases depending on what you're doing.<p>Look at the depths that Toub had to go through to explain when to use it: <a href="https://devblogs.microsoft.com/dotnet/configureawait-faq/" rel="nofollow">https://devblogs.microsoft.com/dotnet/configureawait-faq/</a><p>David Fowl concludes in the comments:<p><pre><code>    > That’s correct, most of ASP.NET Core doesn’t use ConfigureAwait(false) and that was an explicit decision because it was deemed unnecessary. There are places where it is used though, like calls to bootstrap ASP.NET Core (using the host) so that scenarios you mention work. If you were to host ASP.NET Core in a WinForms or WPF application, you would end up calling StartAsync from the UI thread and that would do the right thing and use ConfigureAwait(false) internally. Request processing on the other hand is dispatching to the thread pool so unless some other component explicitly set a SynchronizationContext, requests are running on thread pool threads.
    > 
    > Blazor on the other hand does have a SynchronizationContext when running inside of a Blazor component.
</code></pre>
So I bring this up as a case of how supporting multiple platforms and runtime scenarios does indeed add some layer of complexity.</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:51:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47695397</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47695397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47695397</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p>That's the thing: this Iranian operation produced nothing of value for the United States but most definitely weakened our capabilities even if we say it is a temporary state until our supplies are replenished.<p>Trading a rook for a pawn makes sense if you can take a queen.  But if you just trade a rook for a pawn...<p>Speak nothing of the waste of tax payer dollars and loss of Iranian civilian lives for this nothingburger.</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:33:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47695159</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47695159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47695159</guid></item><item><title><![CDATA[New comment by CharlieDigital in "We moved Railway's frontend off Next.js. Builds went from 10+ mins to under 2"]]></title><description><![CDATA[
<p>I've a C# fanboy, but Blazor's DX just isn't very good compared to say Vite.<p>There are many conditions under which the hot reload just straight up crashes out regularly.</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:25:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47695047</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47695047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47695047</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Union types in C# 15"]]></title><description><![CDATA[
<p>I can see where he's coming from.  For example, `dynamic` was initially introduced to support COM interop when Office add-in functionality was introduced.  Should I use it in my web API?  I can, but I probably shouldn't.<p>`.ConfigureAwait(bool)` is another where it is relevant, but only in some contexts.<p>This is precisely because the language itself operates in many runtime scenarios.</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:10:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694842</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47694842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694842</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Union types in C# 15"]]></title><description><![CDATA[
<p>This is the general pattern of how the C# team operates, IME.<p><pre><code>    "Never let perfect be the enemy of good"
</code></pre>
Very much what I've seen from them over the years as they iterate and improve features and propagate it through the platform.  AOT as an example; they ship the feature first and then incrementally move first party packages over to support it.  Runtime `async` is another example.</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:08:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694804</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47694804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694804</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p>I have a saying I use with clients: "anything is possible with time and money".<p>Certainly, anything is possible.  But this is a current and present risk if China were to make a move in the next month (if we agree that anything is possible).  Author is saying "this is a clear and present risk", not that "this can't be solved with time and money".</p>
]]></description><pubDate>Wed, 08 Apr 2026 19:01:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694705</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47694705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694705</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Union types in C# 15"]]></title><description><![CDATA[
<p>What's the relevance here?  Some sort of weird "Ha! Gotcha!" I'm certainly aware of code to SQL and SQL to code generators as generalized techniques, but I've not used SQL to code generators because these are not practical for most teams in the domain spaces where I operate.<p>Your original quote, verbatim:<p><pre><code>    > Eg compare to strongly-typed query generators
</code></pre>
"strongly-typed <i>query</i> generators" not "strongly-typed command generators" nor "strongly-typed code generators".<p>EF is precisely a code to structured <i>query</i> language (SQL) query generator and not a query to code generator.</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:54:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694611</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47694611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694611</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p><p><pre><code>    > You have to get at least the most basic facts correct
</code></pre>
Seems like you need to get the facts correct.  From your own source:<p><pre><code>    > Since Trump assumed office in January 2025, there has been no legislation or other authorizations of significant new aid to Ukraine. However, a substantial amount of the aid **appropriated under the Biden administration** is still in the pipeline, and deliveries of aid packages have continued, although on two occasions **the Trump administration temporarily paused some deliveries...Nonetheless, the lack of new aid commitments means that U.S. aid deliveries are running out**.
    > 
    > After some initial restrictions, the Biden administration eventually permitted Ukraine to use ATACMS to strike inside Russian territory. **The Trump administration initially blocked use of the missiles in 2025, though Ukraine announced their use later in the year. The Trump administration considered providing Tomahawk cruise missiles to Ukraine, as requested by Ukrainian President Volodymyr Zelenskyy, but ultimately chose not to do so**.
</code></pre>
Look carefully at the first graphic and notice when those 5 aid bills were signed into law.  I'll give you a hint: <i>before Trump assumed office in January 2025</i>.<p>What's your position?  That Trump is sympathetic to the Ukrainian cause and has been a great supporter and ally of Ukraine?<p><pre><code>    > You need to throw out your entire worldview and the sources that generated that worldview and start over.
</code></pre>
Maybe you should start by <i>reading your sources first</i>.</p>
]]></description><pubDate>Wed, 08 Apr 2026 18:43:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47694467</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47694467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47694467</guid></item><item><title><![CDATA[New comment by CharlieDigital in "Union types in C# 15"]]></title><description><![CDATA[
<p>`OneOrMore<T>` was an example of using `union` types.<p>You are free to call it `public union Some<T>(T, IEnumerable<T>)`</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:36:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692581</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47692581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692581</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p>It certainly does.<p><a href="https://www.pewresearch.org/politics/2024/04/09/age-generational-cohorts-and-party-identification/" rel="nofollow">https://www.pewresearch.org/politics/2024/04/09/age-generati...</a><p><pre><code>    > About two-thirds of voters ages 18 to 24 (66%) associate with the Democratic Party, compared with 34% who align with the GOP.
    > About six-in-ten voters 80 and older (58%) identify with or lean toward the GOP, while 39% associate with the Democratic Party.
</code></pre>
<a href="https://usafacts.org/articles/how-many-americans-vote-and-how-do-voting-rates-vary-state/" rel="nofollow">https://usafacts.org/articles/how-many-americans-vote-and-ho...</a><p><pre><code>    > How does voting behavior differ by age?
    > In 2024, 47.7% of citizens between the ages of 18 and 24 voted, compared to 60.2% of 25- to 44-year-olds, 70.0% of 45- to 64-year-olds, and 74.7% of people 65 and older.
</code></pre>
Older voters have higher turnout and skew heavily Republican.</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692262</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47692262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692262</guid></item><item><title><![CDATA[New comment by CharlieDigital in "US fired 1k JASSM cruise missiles in 37 days. Lockheed makes 396 per year"]]></title><description><![CDATA[
<p><p><pre><code>    > ...and the Iranians
</code></pre>
Russia is playing both sides of this.  They're able to continue to deepen the dependency precisely because Iran has few allies while also raising the price of crude oil to enrich their coffers.  A few Iranian lives are nothing to them.  All you have to do is to look at the other side of this: if Iran were to open up and be integrated into the world, who loses?  Russia.<p><pre><code>    > ...arming Ukraine,
</code></pre>
It certainly appears that you've been in a bunker.<p><a href="https://www.pbs.org/newshour/world/what-to-know-about-trumps-halt-on-military-aid-to-ukraine" rel="nofollow">https://www.pbs.org/newshour/world/what-to-know-about-trumps...</a><p><pre><code>    > The White House said that the U.S. is "pausing and reviewing" its Ukraine aid to "ensure that it is contributing to a solution." The order will remain in effect until Trump determines that Ukraine has demonstrated a commitment to peace negotiations with Russia.
    > 
    > The decision comes days after an explosive meeting with Ukrainian President Volodymyr Zelenskyy, in which Trump and U.S. Vice President JD Vance said that Ukraine's leader hasn't expressed sufficient gratitude for American support. 
</code></pre>
<a href="https://www.theguardian.com/world/2025/mar/04/us-military-aid-ukraine-pause-trump-zelenskyy-updates" rel="nofollow">https://www.theguardian.com/world/2025/mar/04/us-military-ai...</a><p><pre><code>    > The Trump administration has suspended delivery of all US military aid to Ukraine, blocking billions in crucial shipments, as the White House piles pressure on Kyiv to sue for peace with Vladimir Putin.
</code></pre>
<a href="https://www.cnn.com/2025/07/04/europe/russia-ukraine-military-us-aid-cuts-intl-cmd" rel="nofollow">https://www.cnn.com/2025/07/04/europe/russia-ukraine-militar...</a><p><pre><code>    > Russia welcomes Trump’s cut to Ukraine’s military aid</code></pre></p>
]]></description><pubDate>Wed, 08 Apr 2026 16:14:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692242</link><dc:creator>CharlieDigital</dc:creator><comments>https://news.ycombinator.com/item?id=47692242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692242</guid></item></channel></rss>