Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Jake Archibald

    jakearchibald.com · Personal blog · on HN since 2011

    Jake Archibald, a web platform engineer, explains browser internals, caching, offline support, image formats, and CORS.

    Visit blogRSSHN submissions
    Web DevelopmentProgramming
    What HN says

    Commenters point to his explainers as favorites, such as the interactive CORS guide, and cite his posts on AVIF and video with transparency.

    Stats for nerds
    191HN people shared it
    174linked in comments
    5.3Kstory points
    Jan 2026last shared
    2015people per year2026

    Top posts on HN

    1. 1
      I discovered a browser bug
      4 people · 589 points · first shared 2018 · 130 comments on HN
    2. 2
      How to win at CORS
      6 people · 405 points · first shared 2021 · 122 comments on HN
    3. 3
      HTML Attributes vs. DOM Properties
      3 people · 402 points · first shared 2024 · 152 comments on HN
    4. 4
      Don't encode POST bodies like GitHub Copilot, use URLSearchParams
      3 people · 395 points · first shared 2021 · 333 comments on HN
    5. 5
      Explaining the browser's event loop, tasks, and microtasks
      11 people · 286 points · first shared 2015 · 21 comments on HN
    6. 6
      How well do you know HTML?
      1 person · 265 points · first shared 2013 · 88 comments on HN
    7. 7
      Who has the fastest website in F1?
      5 people · 238 points · first shared 2019 · 99 comments on HN
    8. 8
      Who has the fastest F1 website (2021)
      1 person · 203 points · first shared 2025 · 65 comments on HN
    9. 9
      AVIF has landed (2020)
      9 people · 200 points · first shared 2020 · 62 comments on HN
    10. 10
      Chrome's experiment of hiding the URL is great for security
      2 people · 190 points · first shared 2014 · 205 comments on HN

    What HN people wrote when they linked it

    • judahJan 2026

      Jake Archibald has an excellent post about progressive image rendering, including some metrics on JPEG XL compared to AVIF[0].

      > "I was also surprised to see that, in Safari, JPEG XL takes 150% longer (as in 2.5x) to decode vs an equivalent AVIF. That's 17ms longer on my M4 Pro. Apple hardware tends to be high-end, but this could still be significant. This isn't related to progressive rendering; the decoder is just slow. There's some suggestion that the Apple implementation is running on a single core, so maybe there's room for improvement.

      > JPEG XL support in Safari actually comes from the underlying OS rather than the browser. My guess is that Apple is considering using JPEG XL for iPhone photo storage rather than HEIC, and JPEG XL's inclusion in the browser is a bit of an afterthought. I'm just guessing though.

      > The implementation that was in Chromium behind a flag did support progressive rendering to some degree, but it didn't render anything until ~60 kB (39% of the file). The rendering is similar to the initial JPEG rendering above, but takes much more image data to get there. This is a weakness in the decoder rather than the format itself. I'll dive into what JPEG XL is capable of shortly.

      > I also tested the performance of the old behind-a-flag Chromium JPEG XL decoder, and it's over 500% slower (6x) to decode than AVIF. The old behind-a-flag Firefox JPEG XL decoder is about as slow as the Safari decoder. It's not fair to judge the performance of experimental…

    • codecurveJul 2018

      I love the idea of Parcel but I've struggled with a number of non-obvious problems when using it on hobby projects.

      ° Sourcemaps not working (wrong files / no source translation)

      ° Randomly losing exports (a module with multiple exports where one of them ends up as an empty object - fix by clearing cache and restarting)

      ° Errors like "module 71b not found"

      ° Hot module reload enabled by default, meaning that all top level code runs again when you reload the code (e.g. here's an extra canvas in your dom)

      My preferred zero config setup for hobby projects has become <script type="module">[1] and a live reload server[2].

      If I'm working on a React project then I will always use Create React App when I can[3].

      When I take something beyond the hobby stage and into maintaining it as an ongoing project, I use TypeScript Quickstart[4]—to abstract the underlying Webpack config and start writing code immediately.

      I'll only reach for Webpack when I know that I need more flexibility than any of these other tools offer—which isn't very often.

      [1]: https://jakearchibald.com/2017/es-modules-in-browsers/

      [2]: https://github.com/tapio/live-server

      [3]: https://github.com/facebook/create-react-app

      [4]: https://github.com/danprince/typescript-quickstart

    • PaulHouleJun 2025

      I've done a few shootouts at various times in the last 10 years. I finally decided WebP was good for the web maybe two years ago, that is, I have 'set it or forget it' settings and get a good quality/size result consistently. (JPEG has the problem that you really need to turn the knob yourself since a quality level good for one image may not be good for another one)

      I don't like AVIF, at least not for photos I want to share. I think AVIF is great for "a huge splash image for a web page that nobody is going to look at closely" but if you want something that looks like a pro photo I don't think it's better than WebP. People point out this example as "AVIF is great"

      https://jakearchibald.com/2020/avif-has-landed/demos/compare/?show=f1

      but I think it badly mangles the reflection on the left wing of the car and... it's those reflections that make sports cars look sexy. (I'll grant that the 'acceptable' JPEG has obvious artifacts whereas the 'acceptable' AVIF replaced a sexy reflection with a plausible but slighly dull replacement)

    • JamesSwiftAug 2022

      Offline first isnt more prevalent because:

      1. its hard

      2. its a significant dev cost

      3. there aren't a lot of resources to help you out if you aren't already familiar with CRDTs and the like (and that assumes your backend also already supports them)

      I can't help with #1 and #2, but for #3 I found Jake Archibald to be the best source of information online. Here is a great high level presentation (he really is a gem of a presenter. I always drop what I'm doing to watch anything he puts out, offline-first or otherwise): https://www.youtube.com/watch?v=cmGr0RszHc8

      Also, Trello put out a multipart blog series which gets into some nuts and bolts which are really valuable when designing your own app: https://tech.trello.com/sync-architecture/

      EDIT: I just noticed Jake has a full course available. I'm not sure how good it is, or how indepth, but I'm sure its decent based on the author: https://jakearchibald.com/2014/offline-cookbook/

    • TheodoresJan 2019

      I wish I had read this earlier today. I wrote my own mini-Cliff-notes on how to do things in SVG that covers a lot of silly SVG things in a Stack Overflow answer...

      https://stackoverflow.com/a/54462467/3917602

      The real problem with SVG is that you need to be a techie type rather than a paintbrush wielding type to get the most out of SVG. In companies this is forbidden. You can't have a techie do design. So you have to have off the shelf bloated 'assets' because that is how they come out of Illustrator. I find I always have to roll my own even for the simplest things such as the 'moon' icon that I thought worthy of putting in to a Stack Overflow answer for 'future reference'.

      Clearly I will be watching every CSS-Tricks video on this series and I hope that this gets mentioned in it:

      https://jakearchibald.github.io/svgomg/

      This allows you to spot 'obvious' optimisations.

    • AdamantcheeseNov 2017

      I went ahead and used it yesterday to change the background image of my site to save a couple (426kb) of bytes on page load. While you recommend using smaller image sizes, it still worked well on a 1920 x 1080 image and only took ~10 minutes to run in the background with n = 2500.

      I did add an additional step (as lots of extra triangles are generated with a large n like this), which is to put it through SVGOMG[1] to optimize out some of those extra bits.

      That cut the generated SVG image size about in half, which I think is an excellent amount of bytes saved for relatively little effort. You can see the result on my site linked in my profile, or compare the PNG and SVG files from the source on my GitHub in this commit[2].

      [1]https://jakearchibald.github.io/svgomg/

      [2]https://github.com/Adamantcheese/adamantcheese.github.io/commit/2c524895b47491e7fc8191df1bf98e3bf622f9de

    Related

    Nolan Lawsonnolanlawson.com133 people

    Safari is the new IE

    Nolan Lawson
    Personal · last shared 2026
    Alex Russellinfrequently.org165 people

    If not React, then what?

    Alex Russell
    Personal · last shared 2026
    WebKit Blogwebkit.org723 people

    Face ID and Touch ID for the Web

    WebKit Blog
    Company · last shared 2026
    Performance Calendarcalendar.perfplanet.com123 people

    HTML and CSS techniques to reduce your JavaScript

    Performance Calendar
    Publication · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Jeremy Keithadactio.com165 people

    Browsers

    Jeremy Keith
    Personal · last shared 2026
    Wingologwingolog.org237 people

    FFS SSL

    Wingolog
    Personal · last shared 2026
    Hexops Devlogdevlog.hexops.com27 people

    Zig, parser combinators, and why they're awesome

    Hexops Devlog
    Company · last shared 2025