Paul Irish @paul.irish · 19/05/2026An agent skill to set this up: github.com/paulirish/do... (nothing too special in here but it's got a few gotchas that the docs weren't obvious about. ) 030
Reposted by Paul IrishLea Verou, PhD @lea.verou.me · 19/05/2026Thrilled this is out, keeping quiet has been SO HARD! 🤐 I’ve had the opportunity to contribute as a domain expert consultant over the past few months, and saw firsthand the level of thoughtfulness and care that went into it. Proud to have played a small part, and excited to see what folks build! ❤️ 66010
Reposted by Paul IrishJon Kuperman @jonkuperman.com · 10/03/2026Source maps are a vital part of modern web development, but the lack of a standard made it impossible for us to add new features or improve the debugging experience. This is the story of how we standardized source maps and how we continue to ship features through standards 📜 🧵 58017
Paul Irish @paul.irish · 28/02/2026good news for yall huh? :) help.obsidian.md/sync/headlesshelp.obsidian.mdHeadless Sync - Obsidian HelpObsidian Sync offers a headless client to sync vaults without using the desktop app. Useful for CI pipelines, agents, and automated workflows. Sync the latest changes or keep files continuously up to ... 130
Reposted by Paul IrishBramus @bram.us · 16/01/2026Vertical Tabs are available behind a flag in Chrome 145 (current beta) 1. Go to `chrome://flags/#vertical-tabs` 2. Set it to enabled 3. Relaunch Chrome 4. Right click the tabbar and choose “Move Tabs To The Side” Attached are before and after screenshots. 1512810
Paul Irish @paul.irish · 19/01/2026HOLY SHIT BALLS YES. YESSSSSSSSS FINALLY WHY did this have to take SO LONG!?! 030
Paul Irish @paul.irish · 10/01/2026Confirmed that profiling skills are super transferable. 🙂↕️ viztracer is a delight for profiling python: github.com/gaogaotianti... And since it exports to the standard trace format, I could bring it back to my home turf: analyzing the flamechart in Chrome DevTools and sharing via trace.cafe :Dtrace.cafetrace.cafe 1140
Paul Irish @paul.irish · 10/01/2026Been loving NVIDIA's NeMo models recently to complement Whisper for transcription, but the startup felt a bit heavy. So I went on a profiling adventure! github.com/NVIDIA-NeMo/... Turned out to be fruitful… stoked to land a big optimization in NeMO. github.com/NVIDIA-NeMo/... 21416
Paul Irish @paul.irish · 20/12/2025I've replaced a lot of my old ARRAYFORMULA's with a BYROW+LAMBDA combo and feel like it's slightly more readable now. But just slightly. :) 120
Paul Irish @paul.irish · 20/12/2025AFAIK, crashes are observable in Chromium via the Reporting API. developer.chrome.com/docs/capabil...developer.chrome.comMonitor your web application with the Reporting API | Capabilities | Chrome for DevelopersUse the Reporting API to monitor security violations, deprecated API calls, and more. 270
Paul Irish @paul.irish · 20/12/2025In my AGENTS.md I'll add something like "I'm already running the dev server. You can access it at port 5173". Alternatively yah you can suggest it should prefix with `timeout 30s` if it may be a long-running process. 2110
Paul Irish @paul.irish · 10/12/2025Aw shoot. So sorry to hear that. Really enjoyed what you brought to Playwright! 150
Paul Irish @paul.irish · 09/12/2025The real asset here is that sample file. I'm thinking something similar to the SKILL file for frontend-design: github.com/anthropics/c... I'll make it if nobody's got anything to offer, but I figured the Una's and Adam's of the world might have something up their sleeves. 140
Paul Irish @paul.irish · 09/12/2025I always prompt with "use modern CSS" but models rarely use *proper* modern, Baseline-y CSS. I want nesting, @layers, view transitions, oklch, light-dark(), etc. Does anyone have some prompt text which does a good job with this? 4150
Reposted by Paul IrishJake Archibald @jakearchibald.com · 16/10/2025I dug into progressive image rendering and found a bunch of common assumptions aren't quite true. ➡️ JPEG & WebP progressive-renders worse in Safari ➡️ AVIF _does_ support progressive ➡️ But JPEG XL in Safari doesn't ➡️ JPEG XL decodes much slower than AVIF ⬇️ and more jakearchibald.com/2025/present...jakearchibald.comThe present and potential future of progressive image renderingExploring progressive image rendering across JPEG, PNG, WebP, AVIF, and JPEG XL. 1517340
Reposted by Paul Irishlynn @chordbug.bsky.social · 21/09/2025forgot to put this up somewhere so here you go. visualize your favorite zlib stream! lynn.github.io/flateview/ 2030196
Paul Irish @paul.irish · 11/09/2025Meanwhile, the mobile web gmail UI m.gmail.com is so fast and delightful, despite being ~unmaintained for 10+ years. 0100
Paul Irish @paul.irish · 31/08/2025You'll probably appreciate the mobile web gmail UI: m.gmail.com Sadly, it now requires a mobile UA. But despite being ~unmaintained for 10+ years, it's so fast and delightful.mail.google.comGmailGmail is email that’s intuitive, efficient, and useful. 15 GB of storage, less spam, and mobile access. 130
Paul Irish @paul.irish · 03/08/2025I joined the HTML Day festivities today and made a lil homage to the <progress> tag: paul.irish/2025-progres... 💪 @htmlenergy.bsky.socialpaul.irishripple the <progress> html energy - drag the slider 2484
Paul Irish @paul.irish · 31/07/2025Some discussion in github.com/tc39/proposa... github.com/tc39/proposa... github.com/tc39/proposa... But.. it seems like not many advocates for 'upsert' itself. ¯\_(ツ)_/¯github.comRename from "proposal-upsert" to "proposal-getorinsert" · Issue #83 · tc39/proposal-upsertGenerally "upsert" means your updating or creating. But this method seems to be getting or creating. Consider renaming this proposal from "proposal-upsert" to "proposal-getorinsert". https://x.com/... 350
Reposted by Paul IrishDavid Bisset @davidbisset.com · 24/07/2025Why I 🧡 the web. drawafish.com Just draw the fish. Trust me. 🐟 10023051204
Paul Irish @paul.irish · 13/07/2025This is hot. And aligns with some work I've been hacking on. Can I give it a whirl? 120
Paul Irish @paul.irish · 16/06/2025Prompts as MCP payloads are def not getting much attention but I also think they have good potential. Interesting that Claude doesn't act on the prompt response type without extra nudging.. especially since this is all their design. 100
Paul Irish @paul.irish · 07/06/2025Weirdly buried in the article: The Nashville chief federal prosecutor (who'd lead this case?) decided to resign in protest over this case being pursued for political reasons. 1221
Paul Irish @paul.irish · 30/05/2025My talk from I/O: a 10min jaunt jam-packed with DevTools Performance panel goodness. youtu.be/BHqxD9qr6Gw Really proud of what we've landed in the past year, including JS bundle analysis, framework tracing APIs, auto-annotations, CrUX context, and deep insights.youtu.bePerformance debugging in DevToolsYouTube video by Chrome for Developers 0447
Paul Irish @paul.irish · 29/05/2025🤨 In a v weird fit of serendipity, I *just* swished with Listerine and wanted to show my partner one of their commercials from the 90s.. This isn't the one but... Listerine was all about that text-fitting! youtu.be/o_P3HElQbsMyoutube.comVINTAGE COMMERCIAL - LISTERINEYouTube video by Historic Films Stock Footage Archive 020
Paul Irish @paul.irish · 29/05/2025Hot damn!!! codepen.io/paulirish/pe... omg its the modern bigtext.js/fittext.js. i love this so hard.codepen.ioinverse text-sizing with attr... 4131
Reposted by Paul IrishBramus @bram.us · 29/05/2025👀 Coming to Chrome DevTools in Chrome 138: CSS Value Tracing When you hover a --custom-prop in a `var()`, DevTools currently shows you the computed value. From Chrome 138 onwards, you can hover the `var` part to see how CSS actually got to that value. 929856
Paul Irish @paul.irish · 28/05/2025Yeah, fair. I don't have this in a non-video blog post yet but.. here's the 10min version with actual words: youtu.be/BHqxD9qr6Gw?...youtube.comPerformance debugging in DevToolsYouTube video by Chrome for Developers 150
Paul Irish @paul.irish · 28/05/2025The Chrome DevTools Performance panel just leveled up! 🚀 Here's a 69-second taste of the new hotness. 69321
Paul Irish @paul.irish · 22/05/2025100%. Applescript is super painful. Finding what API is exposed by each application.. Trying it out.. Logging. All of these things are just terrible. But yeah I don't know other mechanisms to query some of this. 210
Paul Irish @paul.irish · 22/05/2025Here's my version of the same dealio. A lil ffmpeg/fzf/applescript/fish combo to screencapture the bounds of your chosen application's frontmost window. gist.github.com/paulirish/c1...gist.github.comscreencapture a specific application's frontmost windowscreencapture a specific application's frontmost window - screencap-window.fish 160
Paul Irish @paul.irish · 21/05/2025The next biggest win is getting rid of the 3 render blocking requests. That'll give the LCP a 1.3✕ speedup. trace.cafe/t/hRHAdaY3rl (Btw it's quite fast! Nice job) 180
Reposted by Paul IrishSam Rose @samwho.dev · 12/05/2025Been annoyed by web fonts for a while. They’re big and they were connecting my blog to Google. I stumbled on modernfontstacks.com earlier today and now I’ve ditched my web fonts in favour of these. ~140kb shaved off the first load of my site. First impressions matter.modernfontstacks.comModern Font StacksSystem font stack CSS organized by typeface classification for every modern OS. The fastest fonts available. No downloading, no layout shifts, no flashes — just instant renders. 89315
Paul Irish @paul.irish · 13/05/2025you mean like some url sugar around this? data:text/html;charset=utf8,<input type=checkbox> 060
Paul Irish @paul.irish · 06/05/2025Is the WebDev Arena truly measuring webdev coding ability? This ML coding benchmark *requires* React/Tailwind and completely breaks with vanilla JS/other frameworks. The second-order implications of models competing on this narrow definition of frontend web development are rather troublesome. 1355
Paul Irish @paul.irish · 19/03/2025Love how we're seeing more embrace of Markdown within non-developer apps, thanks to it being the lingua franca of LLMs. The Markdown-y copy/paste hooks of Google docs have been super handy. 3350
Reposted by Paul IrishPaul Kinlan @paul.kinlan.me · 17/03/2025Great news. We have a new position on the team for a Developer Advocate at the intersection of Web, Chrome, ChromeOS and Android. The position is in Waterloo - Canada www.google.com/about/career...google.comSenior Developer Advocate, Chrome — Google Careers 25623
Paul Irish @paul.irish · 12/03/2025This is probably the most promising tool. And luckily, I want this for a Chromium repo. :) Big thanks for the heads up Joe... didn't know about Gold. 100
Paul Irish @paul.irish · 12/03/2025It's possible other image diff algos (like SSIM?) might treat those two possibilities as ~equivalent in regards to the change %. Anyway, that's what I was getting at. 000
Paul Irish @paul.irish · 12/03/2025TBH my use of "layout shift" here was misleading. :p My current tooling relies on a Pixels Changed % threshold. But let's say a new change adds a 20px space to the top of the page. It'll shift everything, so pixel change % will be high. But the same space at the bottom will end up with a low %. 210
Paul Irish @paul.irish · 12/03/2025You can add this Google Password Manager UI via a homescreen icon on Android, though it's kinda hidden in Chrome settings. On desktop, you can install as a PWA… but for me, "about:pa" in the URL bar will do the job quickly. 040
Paul Irish @paul.irish · 12/03/2025🔐 If you're a Google Password Manager user, I find the UI in Chrome at `about:password-manager` is a *lot* faster and less annoying than the passwords.google.com one. (Why is the web app so frustrating? Beats me.. I've filed bugs. I hope it improves, regardless.) 190