tl;dr:Chrome tracing lets you record a performance trace that captures low-level details of what the browser is doing. It’s mostly used by Chromium engineers themselves, but it can also be helpful for web developers when a DevTools trace is not enough. This post is a short guide on how to use this tool, from a web developer’s point of view. I’m not going to cover everything – just the bare minimum to get up and running."
tl;dr:Nolan discusses the trends causing increasingly complex software, such as commercial pressure or misaligned incentives. "It takes a lot of discipline to resist complexity, to say “no” to new boxes and arrows. To say, “No, we won’t solve that problem, because that will just introduce 10 new problems that we haven’t imagined yet.” Or to say, “Let’s go with a much simpler design, even if it seems amateurish, because at least we can understand it.” Or to just say, “Let’s do less instead of more.”
tl;dr:"If you can see the lotus flower emoji on your browser, then congratulations! You’re on a browser or operating system that supports Emoji 14.0, released in September 2021. If not, you might see something that looks like the scoreboard on an old 80’s arcade game." Nolan discusses the flaws of native emojis.
tl;dr:"If you speed up your website by 2 seconds, everyone agrees that that’s a good thing with a visible user impact. If you reduce your website’s memory leak by 2 MB, can we still agree it was worth it? Maybe not." Nolan discusses the unique characteristics of memory leaks: (1) Low-impact until critical. (2) Hard to diagnose. (3) Trivial to fix once diagnosed.
tl;dr:Nolan swung from having the latest tech 10 years ago, to practicing a form of "tech veganism."He doesn't have a smart speaker or watch. His smart TV is hooked to an old PC for Netflix, Hulu, etc... This is driven by a believe that software should be "privacy-respecting, open-source, controlled by the user." He feels the benefits of this "asceticism," but maintains concern by the fact tjat others cannot live like this because they don't have the technical know how.
tl;dr:Nolan's preferred solution is "to use requestIdleCallback to wait for the UI thread to be idle before running the blocking code." He discusses the benefits here.