<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: chrismorgan</title><link>https://news.ycombinator.com/user?id=chrismorgan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 10 Aug 2026 09:48:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=chrismorgan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by chrismorgan in "You might want to build your WebApp in Canvas instead of HTML"]]></title><description><![CDATA[
<p>• Portability: unreasonable claim, HTML is more portable than what you will use instead.<p>> <i>Take the humble <input type="text"> element, for example. With it, you get crispy rendering at any resolution, support for tab, focus, selection, mouse interactions and arrow key navigation, internationalization for right-to-left text and Asian compound characters, accessibility for screen readers… the list goes on.</i><p>This is a poor choice of example for “why wouldn’t you use Canvas”, because even pure-canvas apps will use a backing <input type=text> for text input (probably invisible, hopefully appropriately positioned), because that’s the most primitive thing there is in this way; you cannot emulate it.<p>—⁂—<p>The rest of the article is fairly reasonable, showing some of the important considerations and why doing it to acceptable quality is more complex than people often imagine, because you’re basically reinventing a sizeable subset of what the browser already offers; and you <i>can’t</i> do as good a job of it in various areas, and are unlikely to do as good a job in most of the rest.<p>I’d say: things like Canva and Google Maps should obviously use canvas; things like Google Docs and Sheets should almost certainly <i>not</i>. I see enough of their product to see why they would choose canvas, but I’m not yet convinced that HTML only wouldn’t have served them better, and I strongly suspect that, if not, HTML + SVG would have been a better choice than HTML + canvas (and I <i>hope</i> they’re not pure canvas, because that’s an irredeemably bad approach for the foreseeable future of browsers).</p>
]]></description><pubDate>Sun, 09 Aug 2026 16:26:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49232875</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49232875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49232875</guid></item><item><title><![CDATA[New comment by chrismorgan in "You might want to build your WebApp in Canvas instead of HTML"]]></title><description><![CDATA[
<p>> <i>The document in Google Docs is a Canvas.</i><p>This is only mostly true, and no justification at that. I’ll just quote myself from a couple of years ago <<a href="https://news.ycombinator.com/item?id=42253177">https://news.ycombinator.com/item?id=42253177</a>>:<p>> <i>Google Docs isn’t pure-canvas: they only switched their document area to use it for layout. Text rendering is still browser (necessary to keep performance even</i> close<i>), and all the rest of the UI is still DOM. Having thought extensively about it, I cannot come up with any advantage to the approach they’ve taken—neither the performance¹ nor the consistency² angles make any sense, and the product is actively worse because of it³. I’ve written more about it on HN at times, skim <a href="https://hn.algolia.com/?query=chrismorgan%20google%20docs&type=comment" rel="nofollow">https://hn.algolia.com/?query=chrismorgan%20google%20docs&ty...</a> for more. Seriously, having thought about it very carefully and reviewed the matter several times over the years, I honestly believe that they</i> lied <i>in their justifications.</i><p>I haven’t ever examined Google Sheets closely, but it looks to use a similar approach, but worse in scrolling (it’s very obnoxious compared with native on my device—lags fiercely, and breaks inertia).<p>Excel I can’t comment on.<p>Docs should definitely have stayed HTML.<p>Sheets and Excel should probably be HTML, or possibly SVG.<p>For Hivekit’s scheduling interface as shown, I’d say most of the area should be HTML, but that I wouldn’t object to canvas or SVG for the centre area.<p>Now, for their reasons.<p>• Speed: at the level of complexity they’re talking about, this is flat nonsense. Yes, the browser does more than necessary, but a <i>lot</i> of effort has gone into making it perform far better than it has any right to, and DOM performance is not your bottleneck. (I mean by this that, if it looks like it is, it would be if you did the same thing with canvas too.) And as soon as it comes to things like scrolling, you <i>cannot</i> perform or behave as well as the browser, because the browser is a compositor and you can’t work at that level. Even in the rest, unless the entire thing is owned by a single small team skilled at saying “no” and at implementing everything from scratch rather than leaning on others’ libraries, your code is very unlikely to do better than the browser.<p>• Control: it undermines its own point completely by talking of scrolling. You <i>must</i> use real DOM for the scrolling, or else it will be horrible to use on a reasonably large fraction of devices. Note how the likes of Google Docs and Sheets use real DOM and render slices with the adding and removing and such that it criticises.<p>• Consistency: you only get this if you do all the text rendering yourself from first principles, which Google Docs and Sheets don’t do because it performs terribly. So no, this one falls flat too.<p>(I’ll continue more later, got to go again.)</p>
]]></description><pubDate>Sun, 09 Aug 2026 13:07:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=49231057</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49231057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49231057</guid></item><item><title><![CDATA[New comment by chrismorgan in "Fastmail offers EU data region"]]></title><description><![CDATA[
<p>The Assistance and Access Act is completely irrelevant to Fastmail, because Fastmail doesn’t offer end-to-end encryption. Fastmail was always subject to the Telecommunications Act, which allows Australian police access with warrants, and Fastmail has always made it clear that it complies with legal warrants.</p>
]]></description><pubDate>Sat, 08 Aug 2026 18:53:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224729</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49224729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224729</guid></item><item><title><![CDATA[New comment by chrismorgan in "Fastmail offers EU data region"]]></title><description><![CDATA[
<p>Fastmail has never used AWS, and this article is pretty clear about how they have always used their own hardware and traditional colocation.<p>Fastmail used to be based in Melbourne only, but after the Pobox merger it ended up with an office in Philadelphia too. No idea how the balance of things is between the offices now.</p>
]]></description><pubDate>Sat, 08 Aug 2026 18:49:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49224695</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49224695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49224695</guid></item><item><title><![CDATA[New comment by chrismorgan in "A domain can now say it is for sale, in DNS"]]></title><description><![CDATA[
<p>This only works because it’s a wildcard certificate. Since 2019, TLS certificates must not be issued for names containing underscores <<a href="https://cabforum.org/2018/11/12/ballot-sc012-sunset-of-underscores-in-dnsnames/" rel="nofollow">https://cabforum.org/2018/11/12/ballot-sc012-sunset-of-under...</a>>.</p>
]]></description><pubDate>Sat, 08 Aug 2026 17:22:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=49223797</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49223797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49223797</guid></item><item><title><![CDATA[New comment by chrismorgan in "A domain can now say it is for sale, in DNS"]]></title><description><![CDATA[
<p>It certainly <i>should</i> be. Filtering user-registrable names that will end up in host names or URL paths is table stakes. You want to block names like www, admin, root, robots.txt, .well-known, _*, and so forth.</p>
]]></description><pubDate>Sat, 08 Aug 2026 17:20:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49223779</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49223779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49223779</guid></item><item><title><![CDATA[New comment by chrismorgan in "TypeStax: A type scale generator with vintage audio hardware interface"]]></title><description><![CDATA[
<p>Some remarks. The entire thing ends up feeling <i>tasteless</i> to me: it has a whole bunch of knobs (metaphorical and for a change pseudo-physical), half of which shouldn’t exist and some others which <i>should</i> being missing, with terrible calibration, poor defaults, and just… it lacks a certain <i>je ne sais quoi</i>.<p>Various factors make me suppose this is low-effort vibe-coding, but I make this response anyway for the potential benefit of <i>others</i>.<p>• Modular type scales are harmful nonsense. I wrote about it in more detail a few years ago in <a href="https://news.ycombinator.com/item?id=36000879">https://news.ycombinator.com/item?id=36000879</a>. They’re often presented as virtuous, but they actually produce arbitrary, bland, inferior results, mediocre at best.<p>• The range of base sizes is excessive. I <i>think</i> everyone should agree there’s no point in offering below 14px (8px!), and I <i>wish</i> everyone would agree beyond 24px is madness (32px!). Personally I recommend 16px on small screens, up to a maximum of 18–20px (or if you <i>must</i>, 22px) on large screens.<p>• Styling all heading levels the same is not a great idea. Yes, I know you have per-element overrides. Encouraging people to treat them the same is not wise. h1 especially is too often not treated differently enough from h2–h6. Sometimes I blame HTML for that, because despite its name, it’s not a heading, it’s the <i>page title</i>. Varying weight, and often varying size massively, between titles and headings and different-level headings, tends to be better than just using an anaemic modular scale with single steps. But there I go on that again…<p>• The auto-balancing button does some sensible things that show the nature of some of the other problems.<p>• Changing letter-spacing on headings (as is done by default) is a tad dubious.<p>• Changing letter-spacing on body text, and word-spacing on any text, should never be done; yet this option is offered.<p>• For “eyebrow” (interesting term, searching suggests it’s well-established yet somehow this is the first time I’ve come across it), 0.2em letter-spacing is definitely excessive. <a href="https://practicaltypography.com/letterspacing.html" rel="nofollow">https://practicaltypography.com/letterspacing.html</a> suggests 5–12% (0.05–0.12em). Incidentally, the per-element overrides doesn’t seem to know about that 0.2em, claims it’s at 0.<p>• I pressed random preset a few times, got some obviously bad results; e.g. Grand Hotel + Lato has a heading font with <i>significantly</i> smaller metrics than the body one, and where the negative letter-spacing is particularly bad, and where bold is not great. <i>Significantly</i> more than half the time, I strongly disliked the pairing. They felt completely random, even though it felt like half of the presets shown in the <i>list</i> were fine.</p>
]]></description><pubDate>Fri, 07 Aug 2026 14:04:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49210622</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49210622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49210622</guid></item><item><title><![CDATA[New comment by chrismorgan in "My phone detects going on a run as “someone snatching my phone and running off”"]]></title><description><![CDATA[
<p>I was thinking to myself “… doesn’t it have that?” then I remembered I was thinking of the Public Transport Victoria journey planner.</p>
]]></description><pubDate>Fri, 07 Aug 2026 03:18:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=49205561</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49205561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49205561</guid></item><item><title><![CDATA[New comment by chrismorgan in "200 Milliseconds"]]></title><description><![CDATA[
<p>I think it was a poor choice of example, because people will expect payment to be involved. They’re actually just inserting a row into a database for the order; presumably payment is to be handled out-of-band.</p>
]]></description><pubDate>Tue, 04 Aug 2026 05:55:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49164756</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49164756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49164756</guid></item><item><title><![CDATA[New comment by chrismorgan in "200 Milliseconds"]]></title><description><![CDATA[
<p>I don’t know how much a human was involved in making this, but clearly not enough. Some parts of the timing it’s talking about make no sense, the ordering of some parts is incoherent, and it promptly goes into unreasonable and irrelevant detail while completely missing other actually <i>relevant</i> aspects of that detail. For example, “HSTS preload”: it’s utterly irrelevant, because you already know it’s HTTPS; and even if it were HTTP, you should talk about HSTS, the preload list is effectively just a prefilled cache; it then adds more to that cache as you visit sites that have HSTS headers.<p>I’m very confident that if I looked further I’d find it riddled with errors. I just skimmed it and looked at a couple of the bits I’m most familiar with and immediately found notable errors.</p>
]]></description><pubDate>Tue, 04 Aug 2026 05:51:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49164745</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49164745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49164745</guid></item><item><title><![CDATA[New comment by chrismorgan in "Atom is better than RSS, in ways that matter"]]></title><description><![CDATA[
<p>You’re talking about <i>writing</i> it. The question here is <i>reading</i> it.</p>
]]></description><pubDate>Tue, 04 Aug 2026 02:03:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49163622</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49163622</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49163622</guid></item><item><title><![CDATA[New comment by chrismorgan in "Atom is better than RSS, in ways that matter"]]></title><description><![CDATA[
<p>I already addressed that in this ancestor thread.</p>
]]></description><pubDate>Tue, 04 Aug 2026 02:01:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49163610</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49163610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49163610</guid></item><item><title><![CDATA[New comment by chrismorgan in "Show HN: A Handwritten Blogging Platform"]]></title><description><![CDATA[
<p>SVG is completely unsuitable for recording pen stroke data, and fairly unsuitable as a publishing format for handwriting. It’s capable of representing a technical pen/fineliner with opaque, constant-width stroke tolerably well, but nothing else. For all other pen styles, you need variable stroke width (for which you have to switch to using a filled instead of stroked path, bloating it hugely and making it essentially uneditable), and also want some degree of variable opacity and/or texturing of the stroke (both impossible in SVG).</p>
]]></description><pubDate>Mon, 03 Aug 2026 16:20:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49157831</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49157831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49157831</guid></item><item><title><![CDATA[New comment by chrismorgan in "Show HN: A Handwritten Blogging Platform"]]></title><description><![CDATA[
<p>The domain has changed hands. What it was then is now at <a href="https://handwritten.danieljanus.pl/" rel="nofollow">https://handwritten.danieljanus.pl/</a>.</p>
]]></description><pubDate>Mon, 03 Aug 2026 15:09:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=49156810</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49156810</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49156810</guid></item><item><title><![CDATA[New comment by chrismorgan in "Atom is better than RSS, in ways that matter"]]></title><description><![CDATA[
<p>You haven’t engaged with my second paragraph, or my responses to other responses in this thread. Meaningful inconsistency is <i>already easy</i> with just Unicode, nor does limited HTML make things materially inconsistent.</p>
]]></description><pubDate>Mon, 03 Aug 2026 09:58:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=49153560</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49153560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49153560</guid></item><item><title><![CDATA[New comment by chrismorgan in "Show HN: A Handwritten Blogging Platform"]]></title><description><![CDATA[
<p>I was very disappointed, when that happened, that the paper aspect of it was purely at authoring time; that it was converted into text. This one gets it right, preserving the handwriting aspect.</p>
]]></description><pubDate>Mon, 03 Aug 2026 04:18:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49151175</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49151175</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49151175</guid></item><item><title><![CDATA[New comment by chrismorgan in "Atom is better than RSS, in ways that matter"]]></title><description><![CDATA[
<p>It’s genuinely easier to get it right than to get it wrong.</p>
]]></description><pubDate>Mon, 03 Aug 2026 01:12:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49150119</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49150119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49150119</guid></item><item><title><![CDATA[New comment by chrismorgan in "Atom is better than RSS, in ways that matter"]]></title><description><![CDATA[
<p>When an XML document contains HTML, the DOM representation is of elements in the <a href="http://www.w3.org/1999/xhtml" rel="nofollow">http://www.w3.org/1999/xhtml</a> namespace.<p>When you parse a document or fragment that is in HTML syntax, the DOM representation is of elements in the <a href="http://www.w3.org/1999/xhtml" rel="nofollow">http://www.w3.org/1999/xhtml</a> namespace.<p>There is no difference.</p>
]]></description><pubDate>Sun, 02 Aug 2026 19:02:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49147292</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49147292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49147292</guid></item><item><title><![CDATA[New comment by chrismorgan in "How the words we teach English language learners changed"]]></title><description><![CDATA[
<p>Here’s one verse from the Bible itself that shows that language changed: 1 Samuel 9:9:<p>> <i>(Formerly in Israel, when a man went to inquire of God, he said, “Come, let us go to the seer”; for he who is now called a prophet was formerly called a seer.)</i><p>I love that one because it translates so well into English because we <i>also</i> have an older and a newer word for close enough to the same thing. Though when saying older and newer I should note that the words “prophet” and “seer” have been used consistently since the very first English translation, Wycliffe’s in ~1382. Maybe it’s more the <i>feel</i> of the words. (In Bible Gateway’s catalogue of English translations, only the CEV doesn’t use both of those words: <<a href="https://www.biblegateway.com/verse/en/1sam9.9" rel="nofollow">https://www.biblegateway.com/verse/en/1sam9.9</a>>; I disqualify OJB as not English.)<p>That’s the only one I can think of off the top of my head that’s specifically about <i>language</i>, but there are plenty of others about changed <i>customs</i> over time, in Old and New Testaments.</p>
]]></description><pubDate>Sun, 02 Aug 2026 18:24:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=49146979</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49146979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49146979</guid></item><item><title><![CDATA[New comment by chrismorgan in "Linux Desktop Market Share Surpasses 10% in North America"]]></title><description><![CDATA[
<p>Even the trends should be taken with caution. By the very nature of their collection methodology and Firefox’s user base, they massively undercount Firefox (almost certainly by more than 30%, from the last estimates I remember; and possibly significantly more). I would expect them to heavily undercount Linux for similar reasons.</p>
]]></description><pubDate>Sun, 02 Aug 2026 18:13:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49146890</link><dc:creator>chrismorgan</dc:creator><comments>https://news.ycombinator.com/item?id=49146890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49146890</guid></item></channel></rss>