<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: domenicd</title><link>https://news.ycombinator.com/user?id=domenicd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 08:52:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=domenicd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by domenicd in "C++: The Documentary"]]></title><description><![CDATA[
<p>I'm not sure this is a winnable game for programming languages.<p>- Keep a small stdlib, like JavaScript (especially earlier JavaScript): everyone complains about missing features, warring communities form around jQuery promises vs. Promises/A+ vs. callbacks, supply chain attacks, left-pad/is-even dependencies, etc.<p>- Grow a big stdlib while keeping backward compatibility, like C++: lots of cruft left around that must never be used, sitting next to newer stuff with similar names. People complain about the bloat.<p>- Grow a big stdlib and then break backward compatibility, like Python 2 -> 3: everyone is sad, the ecosystem churns for years.<p>I admit there are probably better and worse versions of each strategy, e.g., it seems to me like JavaScript's slow-but-steady accretion of primitives over time has gone OK, and it seems like apart from Python 2 -> 3 some of the PEPs I see for deprecations and replacements are reasonable. But no language has ever hit on a strategy that everyone loves, as far as I can tell.</p>
]]></description><pubDate>Fri, 05 Jun 2026 09:38:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48410160</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=48410160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48410160</guid></item><item><title><![CDATA[New comment by domenicd in "C++: The Documentary"]]></title><description><![CDATA[
<p>What type of project actually uses C++ 23 modules in real life? What kind of toolchain enables that? When I worked on Chromium, they were indefinitely in the "maybe in 5-10 years the tooling will be ready" camp.</p>
]]></description><pubDate>Fri, 05 Jun 2026 09:28:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48410101</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=48410101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48410101</guid></item><item><title><![CDATA[New comment by domenicd in "Changing how we develop Ladybird"]]></title><description><![CDATA[
<p>Fascinating to see that Chromium/Gecko/WebKit are now more "open" browser engines than Ladybird, at least in one important respect.<p>(Servo is arguably in the middle, accepting outside contributions as long as you don't use AI.)<p>It's understandable that a team without much funding would have to close off contributions to spare on labor costs. But, it makes me feel that people don't give Google/Mozilla/Apple enough credit for the economic resources they put into enabling openness.<p>(Personal bias/experience alert: I'm currently retired, but formerly worked at Google on Chrome. I saw many of my coworkers nurture outside contributors, and did some of that myself, both informally and through programs like internships.)</p>
]]></description><pubDate>Fri, 05 Jun 2026 09:24:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48410067</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=48410067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48410067</guid></item><item><title><![CDATA[New comment by domenicd in "Mozilla's opposition to Chrome's Prompt API"]]></title><description><![CDATA[
<p>Fingerprinting concerns here are really overblown. At least in Chrome's implementation, the model version / responses will give you ~2 bits over the browser major version: whether the machine can support the model, and whether the model is downloaded yet or not. (Really <2 bits, since these ratios aren't 50/50 in the population.)<p>This is discussed in detail in <a href="https://webmachinelearning.github.io/writing-assistance-apis/#privacy" rel="nofollow">https://webmachinelearning.github.io/writing-assistance-apis...</a>.</p>
]]></description><pubDate>Fri, 01 May 2026 00:47:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47970171</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47970171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47970171</guid></item><item><title><![CDATA[New comment by domenicd in "Mozilla's opposition to Chrome's Prompt API"]]></title><description><![CDATA[
<p>I was formerly the design lead / spec editor for this API while I worked at Google. I retired in 2025-09, before it got shipped. The following contains no inside knowledge.<p>I am sympathetic to all of Mozilla's concerns here, even though on balance I believe Chromium's decision to ship was the right one.<p>---<p>On interoperability, I agree that this is a tough case. But I am more optimistic than Mozilla that developers will use this API in a way that can work across different models.<p>First, they will be somewhat forced to, because Chrome will change the model over time. (It already changed from Gemini Nano 2 to 3, and I suspect it'll change to 4 soon if it hasn't already.) Edge is already shipping a Phi-based version. A small number of users are using other models via extensions like <a href="https://aibrow.ai/" rel="nofollow">https://aibrow.ai/</a>. And it's very possible Safari might join the party, exposing the Apple Foundation Models that ship with iOS via this API. (When the Foundation Models API came out, we were struck by how similar it was to the prompt API designs that preceded it, and were hopeful that Apple was going to do a surprise announcement of shipping the prompt API. It hasn't happened yet, but I still think it might soon.)<p>Second, we designed the API to steer developers in that direction as much as possible, e.g. encouraging the use of structured output constraints. There are also lots of clear error paths, that almost force developers to use this as a progressive enhancement. (E.g., the existence of low-memory/disk space devices.) So it's very unlikely we'll see developers build sites that are gated on this API existing. It'll mostly be used to sprinkle some AI magic, or let users do cool things without entering some cloud API keys.<p>I made similar arguments for the writing assistance APIs at [1]. As I said there, the prompt AI is trickier than the writing assistance APIs. But I believe it's a difference of degree, not kind. The web has many nondeterministic APIs that access some underlying part of the system, from geolocation to speech recognition/synthesis, all the way up to these AI-based ones. The question is where you draw the line. Mozilla seems to be giving some signals (not yet definite) that translation is on the OK side of the line, but summarization/writing/rewriting/prompting is not. That's a very reasonable position for them to take on behalf of their users. I imagine the Chromium project is hoping that over time, in-the-wild experience with these APIs shows that the benefits outweigh the risks and costs, and so Mozilla (and Apple) follow in shipping them as well. That's definitely happened in other cases, e.g., Mozilla recently indicating interest [2] in implementing WebBluetooth, WebHID, WebNFC, WebSerial, and WebUSB after years of taking a wait-and-see attitude.<p>You can learn more about my general thoughts on this question of shipping APIs first, and how the Chromium project takes on first-mover risks, at [3], which I wrote during my time on the Chrome team.<p>---<p>On the prohibited use policy, I agree that this is just absurd on Chrome's part. This is not how web APIs should work. It smacks of lawyers trying to throw something out there to cover themselves, or of corporate policy being set at the top level for "all AI uses" and then applied even for web APIs where that makes less sense.<p>The only saving grace is that I suspect it won't actually trigger. Because, as Mozilla points out, it's quite impractical to enforce. But it's still <i>wrong</i>.<p>I hope Chrome changes this, although I'm not holding my breath.<p>I did find it interesting that Gemma seems to have a similar terms of use [4]. (Open-weights, not open-source!) As do the Apple Foundation Models in iOS [5]. So unfortunately if the Chrome team were to push for a no-TOS API, they might be forging new ground, which is always difficult in a large company.<p>---<p>On the issue of insubstantial developer signals, I think this is just a failure of the current Chrome team in terms of collecting and collating signals. If one pokes around and knows where to look in various threads, you can find a lot more positive signals than the outdated ones in [6]. I wouldn't have let that Intent to Ship get out the door without properly updating that section of the explainer, for sure. (But hey, not my job anymore!!)<p>[1]: <a href="https://github.com/mozilla/standards-positions/issues/1067#issuecomment-2921239314" rel="nofollow">https://github.com/mozilla/standards-positions/issues/1067#i...</a>
[2]: <a href="https://github.com/whatwg/sg/pull/264" rel="nofollow">https://github.com/whatwg/sg/pull/264</a>
[3]: <a href="https://www.chromium.org/blink/guidelines/web-platform-changes-guidelines/" rel="nofollow">https://www.chromium.org/blink/guidelines/web-platform-chang...</a>
[4]: <a href="https://ai.google.dev/gemma/terms" rel="nofollow">https://ai.google.dev/gemma/terms</a>
[5]: <a href="https://developer.apple.com/apple-intelligence/acceptable-use-requirements-for-the-foundation-models-framework/" rel="nofollow">https://developer.apple.com/apple-intelligence/acceptable-us...</a>
[6]: <a href="https://github.com/webmachinelearning/prompt-api/blob/main/README.md#stakeholder-feedback" rel="nofollow">https://github.com/webmachinelearning/prompt-api/blob/main/R...</a></p>
]]></description><pubDate>Thu, 30 Apr 2026 14:07:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47962745</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47962745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47962745</guid></item><item><title><![CDATA[New comment by domenicd in "Mozilla's opposition to Chrome's Prompt API"]]></title><description><![CDATA[
<p>(Former Chrome team member who worked on this API, now retired.)<p>There was such a process! They shipped as first Dev Trial around 2025-04, then Origin Trial in 2025-05. Since then a number of people tried it and gave lots of feedback, leading to model quality improvements, language support expansion, API additions like structured responses and tool use, etc. You can find a lot of feedback and case studies if you search around.</p>
]]></description><pubDate>Thu, 30 Apr 2026 13:32:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47962180</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47962180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47962180</guid></item><item><title><![CDATA[New comment by domenicd in "Mozilla's opposition to Chrome's Prompt API"]]></title><description><![CDATA[
<p>(I wrote those words originally.)<p>Wow. I had no idea that people would misinterpret what I was saying in this way. I was not meaning to imply it was an expectation of users or developers. I was meaning it as a statement of what was currently a growing industry trend by OS and browser vendors, of shipping or preparing to ship LMs.<p>By now the statement could probably be amended from "expected to gain access to" to "shipping with".<p>I hope the team maintaining the project now makes such an update, since apparently it's confusing so many people!</p>
]]></description><pubDate>Thu, 30 Apr 2026 13:26:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47962096</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47962096</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47962096</guid></item><item><title><![CDATA[New comment by domenicd in "The Prompt API"]]></title><description><![CDATA[
<p>Something similar happened with another API recently. <a href="https://github.com/w3ctag/design-reviews/issues/1198#issuecomment-4167532657" rel="nofollow">https://github.com/w3ctag/design-reviews/issues/1198#issueco...</a></p>
]]></description><pubDate>Wed, 29 Apr 2026 07:24:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47945150</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47945150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47945150</guid></item><item><title><![CDATA[New comment by domenicd in "The Prompt API"]]></title><description><![CDATA[
<p>(Former Chrome built-in AI team member here.)<p>This is part of it, and also we just didn't want to use up the last of the user's disk space! It's disrespectful to use up 3 GB if the user only has 4 GB left; it's sketchy if the user only has 10 GB. At 22 GB, we felt there was more room to breathe.<p>One could argue that users should have more agency and transparency into these decisions, and for power users I agree... some kind of neato model management UI in chrome://settings would have been cool. But 99% of users would never see that, so I don't think it ever got built.</p>
]]></description><pubDate>Mon, 27 Apr 2026 09:23:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47919422</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47919422</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47919422</guid></item><item><title><![CDATA[New comment by domenicd in "The Prompt API"]]></title><description><![CDATA[
<p>I no longer have any inside knowledge, but from my time on this team they were very quick about getting the latest small (Google) models into Chrome. I expect that if Gemma 4 (or its equivalent Gemini Nano) isn't already in Chrome, then it will be soon.<p>Note that the article here was last updated 2025-09-21, and as of that time it was already on Gemini Nano 3.</p>
]]></description><pubDate>Mon, 27 Apr 2026 09:18:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47919383</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47919383</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47919383</guid></item><item><title><![CDATA[New comment by domenicd in "The Prompt API"]]></title><description><![CDATA[
<p>I can't speak for "you guys" anymore, as I'm retired, but from my personal perspective/recollection:<p>The target usage for the prompt API is anything that would benefit from the general capabilities of a language model, and can't be encompassed by the more-specific APIs for summarization/writing/rewriting. Realistic use cases currently are things like sentiment analysis, keyword extraction, etc. I have a number of ideas on how to integrate it into my current retirement project around Japanese flashcards, e.g. generating example sentences. If the small (~10 GiB) model class keeps getting smarter, the class of things possible on-device in this way gets larger and larger over time.<p>We definitely communicated with other browsers. There were the standing WebML Community Group meetings at the W3C every few weeks. There were async discussions like <a href="https://github.com/mozilla/standards-positions/issues/1213" rel="nofollow">https://github.com/mozilla/standards-positions/issues/1213</a> and <a href="https://github.com/WebKit/standards-positions/issues/495" rel="nofollow">https://github.com/WebKit/standards-positions/issues/495</a> . (Side note, I love the contrast between Mozilla's helpful in-depth feedback and WebKit's... less helpful feedback.) There was also a bit of a debacle where the W3C Technical Architecture Group tried to give "feedback" but the feedback ended up being AI-generated slop... <a href="https://github.com/w3ctag/design-reviews/issues/1093" rel="nofollow">https://github.com/w3ctag/design-reviews/issues/1093</a> .<p>But overall, yeah, the goal with the prompt API, as with all web APIs, is to put something out there for discussion as early as possible, and get input from the broad community, especially including other browsers, to see if it's something that they are interested in collaborating on. <a href="https://www.chromium.org/blink/guidelines/web-platform-changes-guidelines/" rel="nofollow">https://www.chromium.org/blink/guidelines/web-platform-chang...</a> (which I also wrote) goes into how the Chromium project thinks about such collaboration in general.</p>
]]></description><pubDate>Mon, 27 Apr 2026 09:11:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47919342</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47919342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47919342</guid></item><item><title><![CDATA[New comment by domenicd in "The Prompt API"]]></title><description><![CDATA[
<p>I led the design effort on this API, before retiring. Here's my writeup on some of the considerations that went into it: <a href="https://domenic.me/builtin-ai-api-design/" rel="nofollow">https://domenic.me/builtin-ai-api-design/</a></p>
]]></description><pubDate>Mon, 27 Apr 2026 07:05:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47918565</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47918565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47918565</guid></item><item><title><![CDATA[New comment by domenicd in "It is incorrect to "normalize" // in HTTP URL paths"]]></title><description><![CDATA[
<p>As some others have indirectly pointed out, this article conflates two things:<p>- URL parsing/normalization; and<p>- Mapping URLs to resources (e.g. file paths or database entries) to be served from the server, and whether you ever map two distinct URLs to the same resource (either via redirects or just serving the same content).<p>The former has a good spec these days: <a href="https://url.spec.whatwg.org/" rel="nofollow">https://url.spec.whatwg.org/</a> tells you precisely how to turn a string (e.g., sent over the network via HTTP requests) into a normalized data structure [1] of (scheme, username, password, host, port, path, query, fragment). The article is correct insofar that the spec's path (which is a list of strings, for HTTP URLs) can contain empty string segments.<p>But the latter is much more wild-west, and I don't know of any attempt being made to standardize it. There are tons of possible choices you can make here:<p>- Should `<a href="https://example.com/foo//bar" rel="nofollow">https://example.com/foo//bar</a>` serve the same resource as `<a href="https://example.com/foo/bar" rel="nofollow">https://example.com/foo/bar</a>`? (What the article focuses on.)<p>- `<a href="https://example.com/foo/" rel="nofollow">https://example.com/foo/</a>` vs. `<a href="https://example.com/foo" rel="nofollow">https://example.com/foo</a>`<p>- `<a href="https://example.com/foo/" rel="nofollow">https://example.com/foo/</a>` vs. `<a href="https://example.com/FOO" rel="nofollow">https://example.com/FOO</a>`<p>- `<a href="https://example.com/foo" rel="nofollow">https://example.com/foo</a>` vs. `<a href="https://example.com/fo%6f%" rel="nofollow">https://example.com/fo%6f%</a>` vs. `<a href="https://example.com/fo%6F%" rel="nofollow">https://example.com/fo%6F%</a>`<p>- `<a href="https://example.com/foo%2Fbar" rel="nofollow">https://example.com/foo%2Fbar</a>` vs. `<a href="https://example.com/foo/bar" rel="nofollow">https://example.com/foo/bar</a>`<p>- `<a href="https://example.com/foo/" rel="nofollow">https://example.com/foo/</a>` vs. `<a href="https://example.com/foo.html" rel="nofollow">https://example.com/foo.html</a>`<p>Note that some things <i>are</i> normalized during parsing, e.g. `/foo\bar` -> `/foo/bar`, and `/foo/baz/../bar` -> `/foo/bar`. But for paths, very few.<p>Relatedly:<p>- For hosts, many more things are normalized during parsing. (This makes some sense, for security reasons.)<p>- For query, very little is normalized during parsing. But unlike for pathname, there is a standardized format and parser, application/x-www-form-urlencoded [2], that can be used to go further and canonicalize from the raw query string into a list of (name, value) string pairs.<p>Some discussions on the topic of path normalization, especially in terms of mapping the filesystem, in the URL Standard repo:<p>- <a href="https://github.com/whatwg/url/issues/552" rel="nofollow">https://github.com/whatwg/url/issues/552</a><p>- <a href="https://github.com/whatwg/url/issues/606" rel="nofollow">https://github.com/whatwg/url/issues/606</a><p>- <a href="https://github.com/whatwg/url/issues/565" rel="nofollow">https://github.com/whatwg/url/issues/565</a><p>- <a href="https://github.com/whatwg/url/issues/729" rel="nofollow">https://github.com/whatwg/url/issues/729</a><p>-----<p>[1]: <a href="https://url.spec.whatwg.org/#url-representation" rel="nofollow">https://url.spec.whatwg.org/#url-representation</a>
[2]: <a href="https://url.spec.whatwg.org/#application/x-www-form-urlencoded" rel="nofollow">https://url.spec.whatwg.org/#application/x-www-form-urlencod...</a></p>
]]></description><pubDate>Sat, 18 Apr 2026 10:41:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47814806</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47814806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47814806</guid></item><item><title><![CDATA[New comment by domenicd in "A new spam policy for “back button hijacking”"]]></title><description><![CDATA[
<p>We tried a few times. We got as far as gating the ability to push into the "real history stack" [1] behind a user activation (e.g. click). But, it's easy to get the user to click somewhere: just throw up a cookie banner or an "expand to see full article" or similar.<p>We weren't really able to figure out any technical solution beyond this. It would rely on some sort of classification of clicks as leading to "real" same-document navigations or not.<p>This can be done reasonably well as long as you're in a cooperative relationship with the website. For example, if you're trying to classify whether a click should emit single-page navigation performance entries for web performance measurement. (See [2].) In such a case, if the browser can get to (say) 99% accuracy by default with good heuristics and provide site owners with guidance on how to annotate or tweak their code for the remaining 1%, you're in good shape.<p>But if you're in an adversarial relationship with the website, i.e. it's some malicious spammer trying to hijack the back button, then the malicious site will just always go down the 1% path that slips through the browser's heuristics. And you can try playing whack-a-mole with certain code patterns, but it just never ends, and isn't a great use of engineering resources, and is likely to start degrading the experience of well-behaved sites by accident.<p>So, policy-based solutions make sense to me here.<p>[1]: "real history stack": by this I mean the user-visible one that is traversed by the browser's back button UI. This is distinct from the programmer-visible one in `navigation.entries()`, traversed by `navigation.back()` or `history.back()`. The browser's back button is explicitly allowed to skip over programmer-visible entries. <a href="https://html.spec.whatwg.org/multipage/speculative-loading.html#nav-traversal-ui" rel="nofollow">https://html.spec.whatwg.org/multipage/speculative-loading.h...</a><p>[2]: <a href="https://developer.chrome.com/docs/web-platform/soft-navigations-experiment" rel="nofollow">https://developer.chrome.com/docs/web-platform/soft-navigati...</a></p>
]]></description><pubDate>Tue, 14 Apr 2026 04:45:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47761349</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47761349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761349</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>Nice. I hope it eventually hits Japan.</p>
]]></description><pubDate>Wed, 25 Mar 2026 02:39:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47512547</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47512547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47512547</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>This is covered in the article:<p>> Turning them off will cause Windows to spasm for several seconds and throw all your current window positioning out of whack.</p>
]]></description><pubDate>Tue, 24 Mar 2026 01:38:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47497654</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47497654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47497654</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>This is discussed in the article, including why I tried it and ended up reverting to normal P/Invoke.</p>
]]></description><pubDate>Sun, 22 Mar 2026 22:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482870</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47482870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482870</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>They are both mentioned in the article. But I appreciate the extra experience and details, beyond what I got from browsing their landing pages and GitHub repos.</p>
]]></description><pubDate>Sun, 22 Mar 2026 22:22:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482853</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47482853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482853</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>A lot of people complain about this, but there seemed to be a reasonable XAML designer when I was making my WinUI 3 app. I didn't really use it (my app was simple enough that hand-crafting the XAML felt worthwhile to ensure everything was nicely aligned and not full of any unnecessary designer gunk). So I suspect it does suck, since otherwise people would not complain as much. But one does exist.</p>
]]></description><pubDate>Sun, 22 Mar 2026 22:20:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482836</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47482836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482836</guid></item><item><title><![CDATA[New comment by domenicd in "Windows native app development is a mess"]]></title><description><![CDATA[
<p>US and Canada residents only, sadly.</p>
]]></description><pubDate>Sun, 22 Mar 2026 22:17:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47482813</link><dc:creator>domenicd</dc:creator><comments>https://news.ycombinator.com/item?id=47482813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47482813</guid></item></channel></rss>