Notes from the middle of learning.

What I’m stuck on, what clicked, and what I’d read again.

More blogs

  • JSON.parse() Errors: What Each Message Actually Means

    What each JSON.parse() SyntaxError actually means, how to find the real cause fast, and when parsing large JSON becomes a main thread performance problem.

    #javascript#debugging#json#developer-tools#performance
    Ashish 9 min read
  • What Is Preact and Why Does a 3KB Version of React Exist

    React's 45KB comes from synthetic events and compatibility layers Preact drops. At 3KB, it calls native DOM directly. Here is what that trade-off means.

    #performance#react#preact#javascript#frontend
    Ashish 9 min read
  • Service Worker Caching Strategies: Cache-First, Network-First, and SWR

    The best network request never happens. Service workers intercept and serve from cache. Here are the three Workbox caching strategies and when to use each.

    #performance#javascript#caching#browser#workbox
    Ashish 12 min read
  • Preload vs Prefetch vs Preconnect: When to Use Each Resource Hint

    Three resource hints, three different jobs. Using the wrong one wastes bandwidth and slows the current page. How each one works and when to apply it.

    #performance#browser#network#LCP#frontend
    Ashish 10 min read
  • Critical CSS: What Render-Blocking Means and How Inlining Fixes It

    The browser cannot paint until it builds the CSSOM. CSS in an external file means a round trip before the first pixel. Inlining critical CSS removes that.

    #performance#css#browser#LCP#rendering
    Ashish 10 min read
  • How HTTP/2 Made Five Frontend Performance Best Practices Obsolete

    Domain sharding, CSS sprites, and JS concatenation were correct for HTTP/1.1. HTTP/2 turned them into anti-patterns. Here is what changed and why.

    #performance#network#browser#javascript#frontend
    Ashish 10 min read